关于android:如何在View上检测doubletap?

How to detect doubletap on a View?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Android - basic gesture detection

我试图让Android对Android的双击更敏感。 到目前为止,我学会了设置双击并知道处理事件的位置:
API:android.view.GestureDetector.OnDoubleTapListener

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    private GestureDetector mGestureDetector;
    …
    mGestureDetector = new GestureDetector(this);
    …
    mGestureDetector.setOnDoubleTapListener(new MyDoubleTapListener());
    …
    private class MyDoubleTapListener implements GestureDetector.OnDoubleTapListener {
    public boolean onDoubleTapEvent(MotionEvent e) {                        
                                    return false;                      
    }
                    @Override
                    public boolean onDoubleTap(MotionEvent e) {
                                    // TODO Auto-generated method stub
                                    return false;
                    }

                    @Override
                    public boolean onSingleTapConfirmed(MotionEvent e) {
                                    // TODO Auto-generated method stub
                                    return false;
                    }
}

但是如何将其链接到View? 这是一个有几个View成员的类。

我真的很感谢你帮助我连接点!


您的视图需要实现onTouchEvent()方法,并且该方法需要将事件传递给GestureDetector对象的onTouchEvent()方法。

1
2
3
4
5
6
7
@Override
public boolean onTouchEvent(MotionEvent event)
{
    Log.v(DEBUG_TAG,"OnTouchEvent !!!");
    boolean result = gestureScanner.onTouchEvent(event);//return the double tap events
    return result;
}