可点击元素的 ListView 中的 Android LongClick
Posted
技术标签:
【中文标题】可点击元素的 ListView 中的 Android LongClick【英文标题】:Android LongClick in a ListView of Clickable Elements 【发布时间】:2014-10-03 03:35:48 【问题描述】:如果我有一个包含 ListView 的片段,其中每一行都是一系列可点击元素(比如 3 个按钮),填充了行上的所有可用空间,我可以对整行进行长点击回调吗?
我希望用户能够通过快速单击来单击三个元素中的任何一个,但长按应该选择整个行/条目。
我曾尝试将 ListView 与 setOnItemLongClickListener
连接起来,同时在布局中的各个元素上设置 android:longClickable
,但我从来没有看到长按时回调被击中。
这可行吗?我是否需要让每个元素监听长按并以某种方式将其推回 ListView?
【问题讨论】:
这个相关问题可能会提供答案见***.com/questions/8846707/… 类似,但没有回答我的问题。我已经按照他们那里所说的去做了。 我认为您必须应用单个按钮长按而不是整行,因为您的孩子已经实现了单击侦听器,所以尝试实现单个按钮长按侦听器。 【参考方案1】:由于这三个元素(按钮)占据了整个空间,所以很难为该行设置长按监听...
如果它们没有任何长点击事件,那么最好为这些元素而不是行设置一个相同的长点击监听器。
谢谢
【讨论】:
我的预期是长按会“通过”,但我猜情况并非如此。 我最终为行中的每个元素添加了长点击侦听器,并且只在每个元素上返回“false”,这确实导致它们传递到父片段。【参考方案2】:将 longclicklistener 放在列表视图上,当执行该操作时,一些布尔值使 true 并在您的 3elements clicklisteners 中检查它是否为 false,而不是其他命令。
【讨论】:
以上是关于可点击元素的 ListView 中的 Android LongClick的主要内容,如果未能解决你的问题,请参考以下文章
无法使我的 ListView 可选择,按下该元素不会突出显示