Android自定义含有CheckBox的Adapter

在做含有CheckBox的Adapter的可能会遇到的问题:

 

 

1.、ListView item中加入checkbox后onListItemClick 事件无法触发。

原因:checkbox的优先级高于ListItem于是屏蔽了ListItem的单击事件。

解决方案:设置checkbox的android:focusable="false"

 

2、选择其中的checkbox,当滚动ListView的时候,会出现一些Checkbox选择错位的现象,

原因:为记住Checkbox的选择状态

解决方案:当选择Checkbox的时候,记下其状态,然后在getView方法中进行设置

代码如下:

 

Java代码 
  1. Object b = (Object ) getItem(position);  
  2.     if (b != null) {  
  3.         if(selectedSet.contains(b)){  
  4.             viewHolder.checkBox.setChecked(true);  
  5.         }else{  
  6.             viewHolder.checkBox.setChecked(false);  
  7.         }  
  8.   
  9.     }  

你可能感兴趣的:(Android自定义含有CheckBox的Adapter)