How to detect doubletap on a View? [duplicate]

元气小坏坏 提交于 2019-11-27 02:44:07

问题


Possible Duplicate:
Android - basic gesture detection

I'm trying to have a View sensitive to double taps on an Android. So far, I learned to set up the double tap and know what place to handle the event for action:
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;
                    }
}


But How do I link it to the View? This is in a class that has a few View members.

I'll really appreciate you helping me connect the dots!


回答1:


Your view needs to implement the onTouchEvent() method, and that method needs to pass the event along to the onTouchEvent() method of the GestureDetector object.

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


来源:https://stackoverflow.com/questions/2640119/how-to-detect-doubletap-on-a-view

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!