该篇文章从eoeAndroid搬迁过来的,原文地址:[Android算法] 解决ListView里嵌套CheckBox出现的数据刷新问题
问题:当ListView里嵌套CheckBox时,我们勾选当前页面的数据后,下拉刷新后下一页也会出现被勾选的现象
解决:可以在数据源里面设置一个标记字段,如Flag=false,然后根据数据源判断CheckBox是否被点击,CheckBox的点击事件要写在CheckBox的设置之前。如:
final int index = arg0;
/**
*CheckBox点击事件
*/
taskHolder.taskItemSelect
.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
taskBeans.get(index).setFlag(isChecked);
}
});
if (taskBeans.get(arg0).getName() != null) {
taskHolder.taskItemName.setText(taskBeans.get(arg0).getName()
.trim());
} else {
taskHolder.taskItemName.setText("");
}
//根据数据源设置CheckBox的状态
taskHolder.taskItemSelect.setChecked(taskBeans.get(arg0).isFlag());
本文介绍了解决ListView中嵌套CheckBox时遇到的数据刷新问题。通过为数据源添加标记字段并在CheckBox设置前处理点击事件,确保了下拉刷新时只显示当前页面的选择状态。
5782

被折叠的 条评论
为什么被折叠?



