GestureDetector.SimpleOnGestureListener。如何检测ACTION_UP事件?

时间:2015-06-07 11:57:01

标签: android android-recyclerview android-event android-gesture

使用此

mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {

        @Override
        public boolean onSingleTapUp(MotionEvent e) {
            return true;
        }

仅检测单击事件,即快速点击和释放。 如果我按住然后释放,则不会调用onSingleTapUp

我正在寻找一个持续下去后ACTION_UP的动作事件。

我查看了当用户执行向下操作时调用的onShowPress,但后来我不确定如何在ACTION_UP中检测到onShowPress

请注意,这是recycler view点击项目。目前,我可以单击一个有效的项目,但如果我按住它然后释放,则不会调用它。

2 个答案:

答案 0 :(得分:1)

您可以在onSingleTapUp方法中尝试以下操作:

@Override
public boolean onSingleTapUp(MotionEvent e) {
    if(e.getAction() == MotionEvent.ACTION_UP){

    // Do what you want
    return true;
    }
    return false;
}

答案 1 :(得分:1)

您可以对视图进行子类化并覆盖onTouchEvent。这将让您在手势检测器处理它们之前观察不同的动作。

@Override
public boolean onTouchEvent(MotionEvent e) {

    int action = e.getActionMasked();
    if (action == MotionEvent.ACTION_UP) {
        // do something here
    }

    return mGestureDetector.onTouchEvent(e);
}