之前用过ExpandableLIstView,数据刷新状态的错乱发现都是在于没有给指定的控件设置值
ListView与CheckBox点击错乱也是同样的原理
关键代码部分:
//设置选中状态
CheckBox checkBox = viewHolder.getView(R.id.checkbox);
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
item.isChecked = true;
} else {
item.isChecked = false;
}
}
});
//状态设置必须要在监听事件之前编写才能生效
checkBox.setChecked(item.isChecked);