6

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

目标: 当我收到长点击事件时,我想禁用对同一触摸事件的链接的点击,但我不知道如何做到这一点。长按正确触发,但只要我抬起手指,链接点击也会触发。

我已经尝试过的: 我尝试过在该onItemLongClick方法上返回真(和假)——这两种方式似乎都没有什么不同。我试图MotionEvent.ACTION_UP在长按后拦截 ,以便我可以暂时使用链接水龙头,但ACTION_UP不会触发 - 至少不会在ListView.

4

1 回答 1

1

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

我使用这个答案中的概念来解决我的问题。我扩展了TextView课程并覆盖onTouchEvent并查看是否正在点击有关着陆事件的链接。如果我是,我会保存该链接并以编程方式“单击”它,ListView.onItemClick如果我没有遇到LongClick第一个。呸。

如果其他人有更优雅的方法来解决问题,请将其发布,如果可行,我将接受您的回答。如果没有,我会在几天内接受我自己的答案。

于 2012-07-31T19:57:01.727 回答