问题描述:
在CursorAdapter绑定ListView之后,如果List上有Checkbox,我们会监听onCheckChanged这个函数。 在实际的运用中会出现滚动list之前选中的项目,会自动触发onCheckChanged函数,导致选中项丢失。
解决的办法:
在Bindview中设置CheckBox的时候调用如下语句:
holder.
check
.setOnCheckedChangeListener(
null
);
holder.
check
.setChecked(
true
);
holder.
check
.setOnCheckedChangeListener(
mOnCheckedChangeListener
);
每个条目需要重新设置。
问题总结:
个人理解是,每个Checkbox在每条Item都需要设置onCheckChanged。这样才能响应每个选中的操作。而清空只是为了减少影响。