2016-09-17 44 views
1

我有ListView與複雜的項目,其中包含幾個按鈕和複選框(所有這些按鈕和複選框有他們的onClickListener's)。 listView中的每個項目都可以通過將其拖到左側/右側來刪除。要使項目可拖動,我覆蓋onTouchListenerListView我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從某個不屬於任何按鈕/複選框的區域開始)執行單擊。

+1

你正在經歷的是完全正常的。這就是觸摸事件的處理方式。例如,按鈕正在消耗觸摸事件,因爲它需要處理點擊。有幾種方法可以實現你想要做的事情,我的建議是使用'CoordinatorLayout'和'SwipeDismissBehavior'。谷歌爲此,你應該找到很多解釋如何使用它的資源。 –

+0

謝謝,我一定會盡力的 –

回答

0

請檢查這個SwipeMenuLib庫。它可能對你有用

+0

謝謝,我會嘗試,但我仍然需要明白髮生了什麼事情在我的應用反正 –

+0

你不需要一些隨機庫來實現這一點。添加一個不需要的庫是不可行的。 –

+0

我已經評論過你的問題,我的建議是什麼。 –

相關問題