环境:
我有一个Android ListView
,其行包含TextViews,其中包含一些带有可点击链接的HTML(URLSpans
)。在ListView上,我设置了一个OnItemLongClickListener
来监听各行的长按事件。
目标: 当我收到一个长按事件时,我想在同一触摸事件的链接上禁用,但我没有看到如何执行此操作。长时间点击正确,但是一旦我抬起手指,链接龙头也会闪光。
我已经尝试过的事情:
我试过在onItemLongClick
方法上返回true(和false) - 它似乎没有任何区别。我试图在长时间点击后截取MotionEvent.ACTION_UP
,以便我可以暂时使用链接点按,但ACTION_UP
不会触发 - 至少不在ListView
上。
答案 0 :(得分:1)
我做了一些搜索并找到了类似问题的答案:Android TextView Linkify intercepts with parent View gestures
我用这个答案中的概念来解决我的问题。我延长了TextView
课程并覆盖了onTouchEvent
并查看我是否正在点击触地事件的链接。如果是的话,我会保存该链接并在ListView.onItemClick
上以编程方式“点击”它,如果我没有先遇到LongClick
。呸。
如果有其他人有更优雅的方式来解决问题,请发布它,如果有效,我会接受你的回答。如果没有,我会在几天内接受我自己的回答。