1 CheckBox与Listview关联使用的经典逻辑代码:
第一步:想要CheckBox与Listview中的Item结合,首先需要点击item时,CheckBox也有响应,因此屏蔽item中checkbox的点击事件,处理事件的任务交给item.
如下图:
第二步:绑定CheckBox与item
代码如下:
如图所示,静态变量 isSelected为绑定并控制checkbox与item的变量。其中,Integer代表的是Item在listview中的下标,Boolean代表着对应item中checkbox的状态。当adapter在创建的时候,就通过initDate()方法初始化isSelected,默认所有的checkbox的状态为false(未选中状态)。
第三步:
通过在adapter中添加如上方法,可以让Listview所在的类来获得isSelected变量,并在listview的onItemClick()方法中设置isSelected中checkbox的状态属性,从而关联checkbox。
关键代码如下:
其中参数:arg2为onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)中的arg2,表示为listview中item的下标。
holder为通过ViewHolder holder = (ViewHolder) arg1.getTag();得到的item对应的viewholder。
第四部:设置全选、反选等功能。
代码如下:
通过在adapter中添加此方法,可以实现该功能。具体方法,请读者自行思考。