Android中的WebView禁止響應點擊事件的方法

我們在做Android開發中,有時候需要用到WebView控件,當你把WebView添加到佈局中,你希望在點擊整個佈局的時候,WebView不接收點擊事件,應該向下傳遞。


舉個例子:在ListView中自定義的每一個Item中包含了WebView,你希望點擊每一個行能被選中,可是有WebView的存在,點擊事件被攔截了,這個時候該怎麼辦呢?


解決方法如下:

繼承WebView自定義一個MyWebView,然後重載它的onTouchEvent方法,就可以解決了。

代碼如下:

public class MyWebView extends WebView{

	public MyWebView(Context context, AttributeSet attrs, int defStyle,
			boolean privateBrowsing) {
		super(context, attrs, defStyle, privateBrowsing);
		// TODO Auto-generated constructor stub
	}

	public MyWebView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		// TODO Auto-generated constructor stub
	}

	public MyWebView(Context context, AttributeSet attrs) {
		super(context, attrs);
		// TODO Auto-generated constructor stub
	}

	public MyWebView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
	}

    @Override
    public boolean onTouchEvent(MotionEvent ev) {
            // TODO Auto-generated method stub
            Log.d("touchevent", "touchevent"+super.onTouchEvent(ev));
//            return super.onTouchEvent(ev);
            return false;
    }
}


發佈了21 篇原創文章 · 獲贊 0 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章