我有ListView
與複雜的項目,其中包含幾個按鈕和複選框(所有這些按鈕和複選框有他們的onClickListener
's)。 listView中的每個項目都可以通過將其拖到左側/右側來刪除。要使項目可拖動,我覆蓋onTouchListener
爲ListView
。我ListView的項目中的視圖從它偷走ACTION_DOWN事件
我的問題是,當我嘗試拖動一個項目或向下滾動的ListView上/我不onTouch()
方法得到ACTION_DOWN
事件,但只有當我開始從任何這些Checkbox
領域的行動'es和Button
's。所以看起來這些元素偷走了我的事件。我想要做的,是收到ACTION_DOWN
,ACTION_MOVE
,ACTION_UP
事件在ListView的onTouchListener
,然後當ACTION_UP
發生檢查我是否滾動/拖動(我沒有問題),如果我不是,對某些按鈕/複選框(如果ACTION_DOWN
從其區域開始)或某個項目(如果ACTION_DOWN
從某個不屬於任何按鈕/複選框的區域開始)執行單擊。
你正在經歷的是完全正常的。這就是觸摸事件的處理方式。例如,按鈕正在消耗觸摸事件,因爲它需要處理點擊。有幾種方法可以實現你想要做的事情,我的建議是使用'CoordinatorLayout'和'SwipeDismissBehavior'。谷歌爲此,你應該找到很多解釋如何使用它的資源。 –
謝謝,我一定會盡力的 –