Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 只截获两次抽头_Android_Android Webview_Android 2.3 Gingerbread_Gesturedetector - Fatal编程技术网

Android 只截获两次抽头

Android 只截获两次抽头,android,android-webview,android-2.3-gingerbread,gesturedetector,Android,Android Webview,Android 2.3 Gingerbread,Gesturedetector,我目前在网络视图上有一个手势检测器,我想对双击做出响应。然而,webView随后会忽略所有单个点击——大概我也已经覆盖了这种行为 我正在寻找: 由我的代码检测并由我的活动处理的双击 WebView将正常处理常规点击 以下是我目前掌握的情况: final WebView web = (WebView) findViewById(R.id.webView1); WebViewClient webrules = new WebViewClient(){ public boolean

我目前在网络视图上有一个手势检测器,我想对双击做出响应。然而,webView随后会忽略所有单个点击——大概我也已经覆盖了这种行为

我正在寻找:

  • 由我的代码检测并由我的活动处理的双击
  • 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);


如何将正常的单点点击留给webView处理?

尝试在
onDown
方法中返回false。返回true“意味着”事件已被消耗,因此未被传递。

请尝试在
onDown
方法中返回false。返回true“表示”事件已被使用,因此未被传递。

触发一些错误和警告,但工作正常,感谢XD等待6分钟触发一些错误和警告,但工作正常,感谢XD等待6分钟
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);
        }

    });