64ListView中item中有CheckBox带来的选择状态混乱的解决

如图:当选择第二个条目的时候,往下翻:


64ListView中item中有CheckBox带来的选择状态混乱的解决_第1张图片

看到下面有的居然自己勾上了:

64ListView中item中有CheckBox带来的选择状态混乱的解决_第2张图片


再网上翻,发现上面的有的也自己勾上了:

64ListView中item中有CheckBox带来的选择状态混乱的解决_第3张图片


第一次遇到这个问题(手机管家项目第一次遇到这个问题,这里是拿《第一行代码》复习了),感觉好奇怪,甚至感觉有点不可思议。但是静下来想想,不过是因为复用convertView带来的问题。

解决方式:

第一步:在bean中新增 一个filed:checked,用来记录CheckBox的选择与否。

64ListView中item中有CheckBox带来的选择状态混乱的解决_第4张图片


第二步,在onItemClickListener监听器中,使用view.getTag()取出ViewHolder.然后进行状态设置。(这里禁用了CheckBox的焦点,CheckBox生来就是被点击,所以如果不禁用它,条目的事件无法响应,这里做的处理是,点击条目的任何位置,CheckBox都会改变状态)

64ListView中item中有CheckBox带来的选择状态混乱的解决_第5张图片


第三步:在adapter中设置CheckBox的状态:

64ListView中item中有CheckBox带来的选择状态混乱的解决_第6张图片


完整的代码我就不上了,交流QQ:619189810

你可能感兴趣的:(Android手机管家项目,遇到的错误和BUG,常用的技术和技巧,天气预报APP项目,IM即时通讯项目,Android知识点,android,develop)