Long press in GestureDetector also fires on tap

前端 未结 3 2095
野趣味
野趣味 2020-12-17 17:24

I tried implementing code from this question: Detecting a long press with Android, but it always detects a long press, if even I just tap it. My code is as follows (I extend

3条回答
  •  猫巷女王i
    2020-12-17 18:10

    You need to override onDown and make it return true. The following code worked for me:

    class SimpleGestureListener extends GestureDetector.SimpleOnGestureListener {
    
        @Override
        public boolean onDown(MotionEvent event) {
          // triggers first for both single tap and long press
          return true;
        }
    
        @Override
        public boolean onSingleTapUp(MotionEvent event) {
          // triggers after onDown only for single tap
          return true;
        }
    
        @Override
        public void onLongPress(MotionEvent event) {
          // triggers after onDown only for long press
          super.onLongPress(event);
        }
    }
    

提交回复
热议问题