ListView的onItemLongClickListener无法阻止链接点击

6

环境: 我有一个Android ListView,其中的行包含一些带有可点击链接(URLSpans)的HTML TextViews。在ListView上,我设置了一个OnItemLongClickListener来监听单个行上的长按事件。

目标: 当我收到长按事件时,我想禁用相同触摸事件中链接的点击,但我不知道如何实现这一点。长按事件会正确触发,但是一旦我松开手指,链接点击也会触发。

我已经尝试过的: 我已经尝试在onItemLongClick方法中返回true(和false)--无论哪种方式都似乎没有什么区别。我尝试截取长按之后的MotionEvent.ACTION_UP,以便可以临时消耗链接点击,但是ACTION_UP不会触发--至少不会在ListView上。

1个回答

1

我进行了更多搜索,发现了一个类似问题的答案:Android TextView Linkify intercepts with parent View gestures

我使用这个答案中的概念来解决我的问题。我扩展了TextView类并重写了onTouchEvent,在按下事件中查看是否点击了链接。如果是,我保存该链接并在ListView.onItemClick上编程“点击”它,如果我没有先遇到LongClick。太糟糕了。

如果其他人有更优雅的解决问题方法,请发布并且如果有效,我会接受你的答案。否则,我会在几天内接受自己的答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接