2012-07-31 48 views
6

環境: 我有一個Android ListView與由包含一些HTML與可點擊鏈接(URLSpans)TextViews行。在ListView上,我設置了一個OnItemLongClickListener來偵聽單個行上的長按事件。的ListView onItemLongClickListener並不妨礙鏈接水龍頭

目標: 當我收到一個長按事件,我想禁用對同一觸摸事件的聯繫水龍頭,但我沒有看到如何做到這一點。長按點擊正確,但是當我擡起手指時,鏈接水龍頭也會閃光。

我已經嘗試過: 我試圖返回true(假)的onItemLongClick方法 - 它似乎不有所作爲無論哪種方式。我試圖在長時間點擊後攔截MotionEvent.ACTION_UP,這樣我就可以暫時使用鏈接龍頭,但ACTION_UP不會觸發 - 至少不會在ListView上觸發。

回答

1

我做了一些更多的搜索和發現這個回答類似的問題:Android TextView Linkify intercepts with parent View gestures

我使用的概念,從這個答案來解決我的問題。我擴展了TextView課程並覆蓋了onTouchEvent,並查看了我是否正在點擊關於着陸事件的鏈接。如果我是這樣,我保存該鏈接並在我的ListView.onItemClick上以編程方式「點擊」它,前提是我沒有遇到LongClick。呸。

如果其他人有更優雅的方式來解決問題,請發佈,如果有效,我會接受您的答案。如果沒有,我會在幾天內接受我自己的答案。