人生最曼妙的风景,竟是内心的淡定与从容!
沒有看你的程式碼,但是遇到過相同的問題,首先你需要判斷手指位移來判斷當前Touch事件應該被哪個組件捕獲,就比如你當前的左右滑動,當前你的組件有你的listview,還有你listview裡面的每一個item。這樣一切都明白了,就好做了。貼個實例吧,不然也不真誠。
class YScrollDetector extends GestureDetector.SimpleOnGestureListener { @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { if (Math.abs(distanceX) >= Math.abs(distanceY)) { //父亲不滑动 setParentScrollAble(false); return true; }else{ setParentScrollAble(true); } return false; } }
這個用來判斷左右滑動,並選擇組成捕獲。
private void setParentScrollAble(boolean flag) { if(parentListView!=null){ parentListView.requestDisallowInterceptTouchEvent(!flag); } }
這個用來分發事件
如果還沒解決的話你可以嘗試的看下這個開源範例:https://github.com/timroes/EnhancedListView支援你說的側滑刪除
沒有看你的程式碼,但是遇到過相同的問題,首先你需要判斷手指位移來判斷當前Touch事件應該被哪個組件捕獲,就比如你當前的左右滑動,當前你的組件有你的listview,還有你listview裡面的每一個item。這樣一切都明白了,就好做了。貼個實例吧,不然也不真誠。
這個用來判斷左右滑動,並選擇組成捕獲。
這個用來分發事件
如果還沒解決的話你可以嘗試的看下這個開源範例:https://github.com/timroes/EnhancedListView支援你說的側滑刪除