我目前在webView上有一个GestureDetector,我想响应双击。然而,webView然后忽略所有单击 - 可能我已经覆盖了这种行为。
我正在寻找:
这是我到目前为止所拥有的:
final WebView web = (WebView) findViewById(R.id.webView1);
WebViewClient webrules = new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView web,String url){
return false;
}
};
web.setWebViewClient(webrules);
WebSettings webSettings = web.getSettings();
webSettings.setJavaScriptEnabled(true);
final GestureDetector gestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onDoubleTap(MotionEvent e) {
Log.d("**APP**", "Double Tap event");
return true;
}
@Override
public boolean onDown(MotionEvent e) {
return true;
}
});
gestureDetector.setIsLongpressEnabled(true);
web.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
});
如何将正常的单击保留给webView进行处理?
答案 0 :(得分:4)
尝试在onDown
方法中返回false。返回true表示事件已被消耗,因此不会被传递。