PullToRefreshListView 内嵌checkbox 数据丢失问题
2024-09-15 11:31:28
在PullToRefreshListView 内部内嵌了Checkbox如下图所示:
原本设计思路是:对CheckBox 进行 setOnCheckedChangeListener 监听
当CheckBox 的状态变化的时候能即时将更新积分,并将 该item的checkbox 状态存到 ListView 中。
如下为checkbox 的程序片段
但在实际运行的时候却发现了问题
但列表中项目较多,往下滑动列表的时候,会发现前面选择的项会自动清除
如下图:
前面勾选的商品已清除了(积分还在)
解决方法:
经尝试,发现大概原因如下:
因为每个item对应一个convertview,当该商品当前对应的convertview滑出可视页面时,convertview被重用,且其内部的数据进行了重置。
那么假如初始化的CheckBox的状态为false,那么便也会触发setOnCheckedChangeListener 动作,从而对该item的checkbox数据进行了修改,并保存到listview中
所以,问题的根源应该是item滑出页面的时候会触发setOnCheckedChangeListener 动作。
解决方法:对CheckBox的状态捕获不用setOnCheckedChangeListener 方法,而改用setOnClickListener方法
经测试,解决了问题
最新文章
- Autofac - 事件
- Atitit 发帖机系列(6) USRQBN2201 setup spec安装程序的实现规范与标准化解决方案
- jQuery插件treeview点击节点名称不展开、收缩节点 分类: JavaScript 2014-06-16 20:28 539人阅读 评论(0) 收藏
- 如何用Apache POI操作Excel文件-----如何在已有的Excel文件中插入一行新的数据?
- 求教jsp 问题,能在一台电脑上运行,不能在另外一台上运行?
- iOS 发布应用时屏蔽NSLog
- python3 流程控制
- static方法和非static方法的区别
- Linux设置PHP环境变量
- OpenCV——去雾
- 微服务下的容器部署和管理平台Rancher
- git教程:远程仓库
- 学习笔记:python3,PIP安装第三方库(2017)
- visual studio 2013 几个测试工具(Nunit 3、xUnit)
- 持续集成之Jenkins自动部署war包到远程服务器
- hive之size函数和cast转换函数
- 【Mac使用系列】Mac锁屏及快捷键
- python中硬要写抽象类和抽象方法
- async异步注解和aspect切面注解等注解的原理
- Scrum Meeting 10.22