首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >复选框将自动显示为在ExpandableListView中选定的

复选框将自动显示为在ExpandableListView中选定的
EN

Stack Overflow用户
提问于 2018-11-21 12:11:05
回答 1查看 51关注 0票数 0

我有一个只有一个子组和最多两个组的ExpandableListView,这个子组有一个带有4-5复选框的群视图,所有的群视图都使用相同的子视图。

当我检查第一个子元素时,我向下滚动,发现相同的元素显示为我重复的第二个组中选择的元素,它不是调用监听器,而是以选中的形式显示。

我读到这是listview中的一个滚动错误,但我看到所有的人都有这样的问题:它为我调用侦听器--它不是调用监听器,而是按我滚动时选择的方式显示。

黄色是另一组

初始化视图后,我总是将所有复选框设置为false,将侦听器设置为null,然后检查应该检查哪些内容并初始化侦听器。

而且并不是所有的设备都在我的像素2中运行良好,但在Pixel 2中不是这样,三星s6也有同样的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-21 13:10:16

这是一个一般的回收清单问题。当系统决定重用列表中的子单元时,这将出现在滚动中。

为了避免这样的问题,您只需使用复选框保存每个单元格的状态。例如,如果您有id(简单唯一标识符),只需在其中创建HashSet和管理状态,则可以将状态保存在元素OR中。例如,在"check“操作中,您必须将您的id添加到HashSet中,并在"uncheck”操作上从集合中删除特定的id。在您的onBindViewHolder中,您必须检查HashSet.conntains(id)才能知道这个单元格是否“已检查”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53411772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档