2

我目前在webView上有一個GestureDetector,我想對雙擊做出響應。然而,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); 

 

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來處理?

回答

4

嘗試在您的onDown方法中返回false。返回true表示事件已被消耗,因此不會被傳遞。

+1

觸發一些錯誤和警告,但工作正常,謝謝XD *等待6分鐘* – Rory 2012-04-29 14:24:02