【发布时间】:2019-11-09 23:01:46
【问题描述】:
我正在ExpandableListView 中实现选择模式。当我单击一个孩子时,选择会切换。我在每个父母中都有一个CheckBox,我想从中控制所有孩子的选择。
我的问题是,当父级折叠并单击其CheckBox 时,应用程序由于空指针异常而崩溃,因为当我尝试更改子级的选择时,我找不到子级并获得 null .但是当父级展开时一切正常。
那么,解决此类问题的好方法是什么?
【问题讨论】:
-
不要尝试更改
CheckBox的选择。您的数据模型可以有一个名为isSelected的布尔字段。当您想选中/取消选中所有孩子时,只需更改所有孩子的布尔标志。然后,在你的onBindViewHolder上,说checkBox.setChecked(item.isSelected()) -
我想改变调用片段活动中的选择,而且我不认为
ExpandableListView中是否有onBindViewHolder方法 -
对不起。我误解了。我以为你在使用带有可扩展适配器的
RecyclerView。我建议你使用一个库来处理你需要的所有东西。我以前亲自使用过这个,效果很好 - github.com/thoughtbot/… -
@ᴛʜᴇᴘᴀᴛᴇʟ 我认为您链接的库在父级上没有复选框,虽然我已经在子级上实现了选择,但我认为我不需要这个库
标签: android kotlin android-expandable-list-view