Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
停止SimpleOnGestureListener侦听,直到新事件发生-Android onScroll_Android_Android Animation_Android Gesture_Gesturedetector_Android Scroll - Fatal编程技术网

停止SimpleOnGestureListener侦听,直到新事件发生-Android onScroll

停止SimpleOnGestureListener侦听,直到新事件发生-Android onScroll,android,android-animation,android-gesture,gesturedetector,android-scroll,Android,Android Animation,Android Gesture,Gesturedetector,Android Scroll,在由于已经发生的触摸事件而调用了某个方法之后,如何阻止手势侦听器进行侦听 困惑,我知道 循序渐进 用户触摸屏幕并滚动一定距离 根据滚动距离/或速度触发事件;没关系 若用户在屏幕上握住手指,它将继续计算 这些计算会产生随机性 在屏幕上的手指被替换之前,人们如何才能停止听呢 手势监听器是否有停止协议方法或类似的东西,我可以想象onLift或类似的东西 我需要取消侦听器的连接吗 如果您可以控制触发事件的方法和触摸式侦听器,请使用布尔值来决定是否需要调用它 public boolean onTouch(

在由于已经发生的触摸事件而调用了某个方法之后,如何阻止手势侦听器进行侦听

困惑,我知道

循序渐进

  • 用户触摸屏幕并滚动一定距离
  • 根据滚动距离/或速度触发事件;没关系
  • 若用户在屏幕上握住手指,它将继续计算
  • 这些计算会产生随机性
  • 在屏幕上的手指被替换之前,人们如何才能停止听呢

    手势监听器是否有停止协议方法或类似的东西,我可以想象onLift或类似的东西

    我需要取消侦听器的连接吗


    如果您可以控制触发事件的方法和触摸式侦听器,请使用布尔值来决定是否需要调用它

    public boolean onTouch(View v, MotionEvent event) {
      switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            eventShouldBeTriggered = true;
            }
    //Other touch logic
    }
    
    triggerEvent(){
     if(eventShouldBeTriggered){
           eventShouldBeTriggered = false;
    
           //event logic
    
      }
    }
    

    也许我应该提一下。我正在使用onScroll,我需要停止onScroll方法的侦听。我希望在满足条件后立即退出onScroll方法,并且在用户重新触摸屏幕之前不允许它。感谢您的输入,但我不知道提供的代码在这种情况下有何帮助您需要停止滚动或onScroll方法吗?这是两件截然不同的事情。也许我不明白SimpleOnGestureListener中的onScroll方法是如何工作的。当我在符合条件后(即以一定速度滚动)将手指放在屏幕上时,问题变得明显。下一次迭代发生了,尽管我的手指没有移动。我需要它停止调用onScroll,直到手指从视图(或屏幕)中抬起并重新触摸。