2010-01-16 71 views
1

我試圖捕捉WebView的onTouchEvent,以便處理像 MotionEvent.ACTION_UP,MOVECANCEL這樣的操作。我做了一個簡單的例子,但沒有成功,但是我只用View來成功。我錯過了什麼嗎?webView onTouchEvent

感謝

public class HelloWebView extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(new MyWebView(this)); 
} 

private static class MyWebView extends WebView { 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
    int action = event.getAction(); 
    Log.w("TouchEvent","Touch" + action); 
    Log.w("HitResult",this.getHitTestResult().toString()); 
    switch (action) { 
    case (MotionEvent.ACTION_DOWN): // Touch screen pressed 
    break; 
    case (MotionEvent.ACTION_UP): // Touch screen touch ended 
    break; 
    case (MotionEvent.ACTION_MOVE): // Contact has moved across screen 
    break; 
    case (MotionEvent.ACTION_CANCEL): // Touch event cancelled 
    break; 
    } 
    return super.onTouchEvent(event); 
    } 

    public MyWebView(Context context) { 
    super(context); 
    this.getSettings().setJavaScriptEnabled(true); 
    this.loadUrl("http://www.google.com"); 
    } 
} 

} 

回答

0

那是因爲你正在使用的WebView,它已經處理大部分的onTouchEvent運動。我現在還沒有得到答案,但至少我可以告訴你問題是什麼!