问题描述:listview中有checkbox组件 选中itemX后 滑动listview itemX滑出屏幕再滑回来 状态变成了未选中
经网上一篇博文的点拨(虽然他也不甚知其原因)
http://blog.sina.com.cn/s/blog_65570a20010108lp.html
但我找到了自己的问题 很是窘迫 都是复制粘贴的代价
原来关于checkbox状态的存取写倒了
正确的先存后取 之前错误的先取后存了
holder.cBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
isCheckedMap.put(id,true);
}else{
isCheckedMap.put(id,false);
}
}
});
holder.cBox.setChecked(isCheckedMap.get(id));
当ListView中的Checkbox被选中后,滑动导致该Item离开屏幕再返回时,状态丢失变为未选中。问题源于对Checkbox状态的错误处理,即错误地先取后存。正确做法应该是先存后取,确保状态正确保存。
646

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



