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

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

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

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

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

解决方式:

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

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

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

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

时间: 2024-10-02 19:36:12

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

77ListView中item带有CheckBox复用缓存的问题(重点)(数据错乱)

在ListView的item中,当带有CheckBox的时候,用户点击选中第一个CheckBox的时候,往下拖动,发现下面没有选中的CheckBox也被选中了,好恶心啊!很简单,这是因为convertView复用带来的问题,在这个问题上,通常不会让CheckBox自己记住他自己的状态,选择在业务bean中记住CheckBox的状态,在业务bean中新增一个filed: private boolean checked; 使用view的getTag方法得到ViewHolder: lv_task_ma

关于antd 中使用Form.Item 结合CheckBox 无法更新改变状态的问题

时隔多个月 终于 又转战react, rn我真的太难了. 事件前提:最近在开发react框架的后台管理系统.必不可少的用到antd-design.提交一个数据比较多的表格.因为需要判断一些必填和规则.所以如果自己写就比较麻烦,在这里就用到react-design的Form组件. 在项目中 其他都好说 但是有一个多选框 ===> 这里CheckBox 可以用 CheckBox.Group.因为使用Form.Item 那么问题来了,看截图---->  antd官网指出了 使用Form.Item无法

listview中item 有checkbox多选防止滑动 listview页面 出现checkbox错位问题

checkbox点击切换背景 <CheckBox android:id="@+id/checkbox" android:layout_width="40dp" android:layout_height="40dp" android:button="@null" android:focusable="false" android:background="@drawable/playimage

Android ListView 中加入CheckBox/RadioButton 选择状态保持、全选

最近在一个项目中,需要在ListView的item中加入CheckBox,但是遇到的一个问题是上下滑动的时候如果有选择了的CheckBox,就会出现选择项错误的问题,下面将个人的解决方法总结如下; 先说思路: 在ListView的Adapter中,用一个Map保存每一项item的选择状态,在getView方法中,设置Map中保存的某一项的选择状态就实现了状态的保存: 每一项的视图 child.xml <CheckBox        android:id="@+id/item_cb&quo

ListView的item中有button和checkbox,listview的点击事件无效

ListView的item中有button和checkbox,listview的点击事件无效,解决办法: 在item布局文件中的根控件中添加属性设置: android:descendantFocusability="blocksDescendants" 如果只能点击checkbox,而无法触发item的点击事件,那么可以禁掉checkbox的焦点获取,不让它可以点击就可以了 checkbox里面加 android:focusable="false" android:

使得spinner和spinner中item有不同的背景图片-------自定义spinner,设计出你想要的spinner!

遇到问题描述: spinner样式的使用,系统自带的不能说是一般的丑,并且跟你设计的风格完全不合拍,但对于spinner通过改变背景 图片的方式使其看起来更加的美观,更符合我们的审美设计.我遇到的问题是,对于item和spinner都设计为同一个背景图片,如果不同,当选择 item之后,item的值会直接把spinner中图片覆盖掉,使得spinner得不到预期的显示,但spinner和item中有相同的背景图片有不太合适.问题就是 使得spinner和spinner中item有不同的背景图片?

压力不是来自于任务本身,而是任务在大脑中的堵塞,带来的焦虑和心理的抵触(转)

引:为什么工程师的效率有那么明显的波峰波谷?为什么会有负面情绪?负面情绪与工作效率有什么关系? 团队 Leader 应该怎样保证整体的效率输出与大家的成长?为什么醉心于技术的同学做项目总是虎头蛇尾? 对工程师来说经常会有明显的效率差异,有时一天能搞定好几个模块,顺带加了好几个新的技能点,而有时一个简单的功能投入了两三天还和之前没什么区别.虽然任务并不复杂,但忍不住会刷会微博,聊会 QQ,即使硬着头皮去做,往往效率也不如意,甚至引入一些新的低级 Bug.这个差异与技能水平和工作态度无关,在绝大多数

asp.net MVC中使用Html.Checkbox提示该字符串未被识别为有效的布尔值错误的解决方法

在asp.net MVC中使用Html.CheckBox提交后出现该字符串未被识别为有效的布尔值错误,或从类型“System.String”到类型“System.Boolean”的参数转换失败. 错误例子:@Html.CheckBox("UserID",item.IsTrue,new{value=item.UserID}) 这是由于MVC会在页面上生成<input id="UserID" name="UserID" value="

【Android进阶】关于ListView中item与控件抢夺焦点的那些事

在开发中,listview可以说是我们使用最频繁的控件之一了,但是关于listview的各种问题也是很多.当我们使用自定义布局的Listview的时候,如果在item的布局文件里面存在Button或者是CheckBox等控件以及其子类控件的时候,经常会碰到各种控件的点击事件冲突的情况,那么我们如何来处理Listview中这种控件之间焦点冲突的情况呢? 我们以item存在一个Button控件为例 首先,加入我们不设置任何关于焦点的属性,比如focus等,代码如下 @Override public