【发布时间】:2012-06-21 19:36:58
【问题描述】:
目标:我正在尝试创建一个每行有 2 个复选框的 UI,每行分为几个部分。我在下面包含了 UI 的屏幕截图。
当前方法:我正在使用 ExpandableListView 并使用 onChildClick 处理数据。
问题:当你点击一个复选框时,它不会触发 onChildClick 或其他任何东西。点击复选框外的任意位置都会触发此事件。
研究:有很多线程建议设置 android:focusable="false",但这对我来说没有任何改变。我将 UI 中的每个元素的可聚焦设置为 false。
复制:我在运行code from this article 时遇到了完全相同的问题,其中包括 android:focusable="false"。我的很多代码都基于该示例,如果我可以使用该代码库让它工作,我相信我可以让它在我的工作。
【问题讨论】:
-
需要澄清 - 当一个复选框被点击时,你希望它触发复选框的事件和 ELV 行事件?对吗?
-
我真的不在乎它会触发什么,只要我可以使用该触发来更新数据。所以我想我需要它来触发一些东西,这些东西会给我组、子行和每个复选框的状态。我很确定我可以在 OnChildClick 中获得这些。由于我对这些行中的每一行都使用了相同的 2 个复选框,因此我认为我不能使用侦听器来做到这一点。
-
在触控模式下一切仍可聚焦。您需要通过添加
android:focusableInTouchMode="false"来关闭它。请参阅下面的答案。
标签: android android-layout android-listview expandablelistview android-linearlayout