思路就是每一个checkbox都添加一个tag,然后创建一个集合保存每一个checkbox的tag
private List<Integer> positionList = new ArrayList<Integer>();
check = (CheckBox) holder.itemView.findViewById(R.id.sygl_checkbox);
//check设置标示把当前的位置设置为tag
check.setTag(new Integer(position));
对此位置的tag进行判断
if(positionList.contains(check.getTag())){
check.setChecked(true);
}else{
check.setChecked(false);
}
如果有这个tag,就设置为true,没有就设置为false
设置监听:
check.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked) {//如果选中就在集合中添加此checkbox的tag
positionList.add(position);if(!list_dtxz.contains(syjlPo)){
list_dtxz.add(syjlPo);
}
} else {//如果取消选中就在集合中取消
positionList.remove(new Integer(position));
if(list_dtxz.contains(syjlPo)){
list_dtxz.remove(syjlPo);
}
}
}
});