if(posList.contains(holder.itemView.getTag())){
holder.cbSelect.setChecked(true);
}else{
holder.cbSelect.setChecked(false);
}
holder.cbSelect.setOnCheckedChangeListener((CompoundButton compoundButton, boolean b) ->{
if (b) {
if(!posList.contains(holder.itemView.getTag())){
if (strEquipID.equals("")) {
posList.add(member_boe_dev_listBean.getBody().get(i).getMacId());
strEquipID = member_boe_dev_listBean.getBody().get(i).getMacId() + ",";
} else {
posList.add(member_boe_dev_listBean.getBody().get(i).getMacId());
strEquipID = strEquipID + member_boe_dev_listBean.getBody().get(i).getMacId() + ",";
}
member_boe_dev_listBean.getBody().get(i).setCheck(true);
}
} else {
if(posList.contains(holder.itemView.getTag())){
member_boe_dev_listBean.getBody().get(i).setCheck(false);
strEquipID = strEquipID.replace(member_boe_dev_listBean.getBody().get(i).getMacId() + ",", "");
for (int j = 0; j < posList.size(); j++) {
if (member_boe_dev_listBean.getBody().get(i).getMacId().equals(posList.get(j))) {
posList.remove(j);
}
}
}
if (strEquipID.equals("")) {
strEquipID = "";
posList.clear();
}
}
});
holder.itemView.setTag(member_boe_dev_listBean.getBody().get(i).getMacId());
要设置tag
以及重写
//重写getItemViewType方法
@Override
public int getItemViewType(int position) {
return position;
}
即可解决问题。