在PullToRefreshListView 内部内嵌了Checkbox如下图所示:

原本设计思路是:对CheckBox 进行 setOnCheckedChangeListener 监听

当CheckBox 的状态变化的时候能即时将更新积分,并将 该item的checkbox 状态存到 ListView 中。

如下为checkbox  的程序片段

但在实际运行的时候却发现了问题

但列表中项目较多,往下滑动列表的时候,会发现前面选择的项会自动清除

如下图:

前面勾选的商品已清除了(积分还在)

解决方法:

经尝试,发现大概原因如下:

因为每个item对应一个convertview,当该商品当前对应的convertview滑出可视页面时,convertview被重用,且其内部的数据进行了重置。

那么假如初始化的CheckBox的状态为false,那么便也会触发setOnCheckedChangeListener 动作,从而对该item的checkbox数据进行了修改,并保存到listview中

所以,问题的根源应该是item滑出页面的时候会触发setOnCheckedChangeListener 动作。

解决方法:对CheckBox的状态捕获不用setOnCheckedChangeListener 方法,而改用setOnClickListener方法

经测试,解决了问题

最新文章

  1. Autofac - 事件
  2. Atitit 发帖机系列(6) USRQBN2201 setup spec安装程序的实现规范与标准化解决方案
  3. jQuery插件treeview点击节点名称不展开、收缩节点 分类: JavaScript 2014-06-16 20:28 539人阅读 评论(0) 收藏
  4. 如何用Apache POI操作Excel文件-----如何在已有的Excel文件中插入一行新的数据?
  5. 求教jsp 问题,能在一台电脑上运行,不能在另外一台上运行?
  6. iOS 发布应用时屏蔽NSLog
  7. python3 流程控制
  8. static方法和非static方法的区别
  9. Linux设置PHP环境变量
  10. OpenCV——去雾
  11. 微服务下的容器部署和管理平台Rancher
  12. git教程:远程仓库
  13. 学习笔记:python3,PIP安装第三方库(2017)
  14. visual studio 2013 几个测试工具(Nunit 3、xUnit)
  15. 持续集成之Jenkins自动部署war包到远程服务器
  16. hive之size函数和cast转换函数
  17. 【Mac使用系列】Mac锁屏及快捷键
  18. python中硬要写抽象类和抽象方法
  19. async异步注解和aspect切面注解等注解的原理
  20. Scrum Meeting 10.22

热门文章

  1. 使用MJRefresh遇到的坑
  2. How to Create Custom Filters in AngularJs
  3. 查看linux版本号的几种方法
  4. Android系统更改状态栏字体颜色
  5. 配置Android开发环境
  6. android常用http框架介绍
  7. SuperSocket快速入门(三):实现你的AppServer和AppSession
  8. Mysql group_concat
  9. ImageIO.wtrie生成jpg图片质量损失方案:BufferedImage生成jpg图片文件流
  10. GUID的广泛使用