u-ryo's blog

various information for coding...

CheckBox on ListView

| Comments

Androidでのお話です。 ListViewのそれぞれにCheckBoxをつけたら、 checkboxはcheck出来るものの、項目選択が出来なくなりました。 どうやらonItemClickが呼ばれてない様子。 調べてみると、CheckBoxがfocusを奪ってしまっているそうでした。 (カスタマイズしたListViewに設定したCheckBoxのon/offを行全体で行う)

1
2
android:clickable="false"
android:focusable="false"

が必要とのこと。

また、 background処理後、Adapterの値を変えただけではCheckBoxの見た目に変化はないんですね。 explicitにsetChecked(false)して回らないとなりません。 その際、listView.getChildCount()で取れるcountは、ListViewの全てではなく、見える範囲のListのobjectなんですね! 確かにscrollすればredrawかかってadapterの値が反映されるからいいんですけど、何かしない限りredrawされないから自分で描画しないとならないんですねー。

Comments