Android中的WebView禁止響應點選事件的方法
阿新 • • 發佈:2018-12-30
我們在做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; } }