如何检测视图上的双击?

17

可能是重复问题:
安卓 - 基本手势检测

我正试图让一个View在安卓设备上对双击的动作敏感。到目前为止,我学会了如何设置双击并知道在哪里处理事件:
API: android.view.GestureDetector.OnDoubleTapListener

    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成员的类中。

非常感谢您帮助我理清思路!

1个回答

6

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接