listview的item中含有checkbox的一些問題

當listview的item中含有checkbox時可能會出現的問題:

1.item不能點擊了.原因是checkbox控件提前消費了這個點擊事件,導致item點擊事件被屏蔽.解決辦法爲在item的根部局加上:android:descendantFocusability="blocksDescendants"


2.checkbox設置了setOnCheckedChangeListener,  listview滑動後checkbox選中的狀態錯亂.可能出現的原因是checkbox先設置了選中狀態如checkbox.setChecked(true,後設置的OnCheckedChange監聽事件,此時這個checkbox狀態已經改變了,但是沒有被監聽到.當下一個item中的checkbox執行setChecked時,會觸發上一個checkbox的OnCheckedChange事件,造成選中狀態錯亂或者其他問題.解決辦法:setOnCheckedChangeListener方法寫在setChecked方法之前.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章