gpt4 book ai didi

Android:即使 focusable=false,ExpandableListView 中的复选框也不会触发 onChildClick

转载 作者:太空狗 更新时间:2023-10-29 16:07:19 24 4
gpt4 key购买 nike

目标: 我正在尝试创建一个每行有 2 个复选框的 UI,每行都分成几个部分。我在下面附上了 UI 的屏幕截图。

当前方法:我正在使用 ExpandableListView 并使用 onChildClick 处理数据。

问题:当您单击复选框时,它不会触发 onChildClick 或其他任何事件。单击复选框外的任意位置将触发此事件。

研究:有很多线程建议设置 android:focusable="false",但这对我来说没有任何改变。对于我的 UI 中的每个元素,我都将 focusable 设置为 false。

重现: 我在运行 code from this article 时遇到完全相同的问题无需修改,其中包括 android:focusable="false"。我的很多代码都基于该示例,如果我可以使用该代码库让它工作,我相信我也可以让它在我的代码库中工作。

Current UI

最佳答案

我敢打赌,您的 XML 中少了一行。

您需要在您的 xml 中包含这两行(第二行是最重要的):

android:focusable="false"
android:focusableInTouchMode="false"

这将允许单独单击每个复选框以及行本身。

然后您在适配器 getView() 中设置 onCheckChangedListener 监听器来处理复选框(它将可以访问位置、 View 和父级信息)。然后,您的 onChildClick 可以处理两次点击。

关于Android:即使 focusable=false,ExpandableListView 中的复选框也不会触发 onChildClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11145514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com