android viewpager嵌套側滑刪除listview衝突問題

場景:  viewpager嵌套側滑刪除的listview(如SwipeMenuListView),當在滑動在SwipeMenuListView的viewpager頁時,兩者滑動衝突


解決:自定義listview類繼承SwipeMenuListView,重寫touch的各個事件,攔截父類點擊事件

public class MySwipMenuLv extends SwipeMenuListView{

	private ViewGroup parent;

	public MySwipMenuLv(Context context, AttributeSet attrs) {
		super(context, attrs);
	}

	 public void setNestedpParent(ViewGroup parent) {  
	        this.parent = parent;  
	    }  
	  
	    @Override  
	    public boolean dispatchTouchEvent(MotionEvent ev) {  
	        if (parent != null) {  
	            parent.requestDisallowInterceptTouchEvent(true);  
	        }  
	        return super.dispatchTouchEvent(ev);  
	    }  
	  
	    @Override  
	    public boolean onInterceptTouchEvent(MotionEvent arg0) {  
	        if (parent != null) {  
	            parent.requestDisallowInterceptTouchEvent(true);  
	        }  
	        return super.onInterceptTouchEvent(arg0);  
	    }  
	  
	    @Override  
	    public boolean onTouchEvent(MotionEvent arg0) {  
	        if (parent != null) {  
	            parent.requestDisallowInterceptTouchEvent(true);  
	        }  
	        return super.onTouchEvent(arg0);  
	    }  
}

代碼中:

    通過setNestedpParent()方法傳入MySwipMenuLv的父類對象(也就是viewpager)

wKiom1Xbu__C5sQ1AAJNMYPiwpw365.jpg






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章