在Model层给item的值设置一个布尔类型的flag
private boolean selectedFlag = false;
public boolean isSelectedFlag() {
return selectedFlag;
}
public void setSelectedFlag(boolean selectedFlag) {
this.selectedFlag = selectedFlag;
}
然后在Adapter中CheckBox的点击事件
mCheckBox.setChecked(model.isSelectedFlag());
mCheckBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
model.setSelectedFlag(!model.isSelectedFlag());
}
});
这样一来错乱的问题就解决了。