在做含有CheckBox的Adapter的可能会遇到的问题:
1.、ListView item中加入checkbox后onListItemClick 事件无法触发。
原因:checkbox的优先级高于ListItem于是屏蔽了ListItem的单击事件。
解决方案:设置checkbox的android:focusable="false"
2、选择其中的checkbox,当滚动ListView的时候,会出现一些Checkbox选择错位的现象,
原因:为记住Checkbox的选择状态
解决方案:当选择Checkbox的时候,记下其状态,然后在getView方法中进行设置
代码如下:
- Object b = (Object ) getItem(position);
- if (b != null) {
- if(selectedSet.contains(b)){
- viewHolder.checkBox.setChecked(true);
- }else{
- viewHolder.checkBox.setChecked(false);
- }
- }