【问题标题】:How to Stop OnTouchListener while user is touching the screen ? < android>如何在用户触摸屏幕时停止 OnTouchListener? <安卓>
【发布时间】:2014-07-27 00:09:06
【问题描述】:

嘿,我正在寻找一种方法来强制用户取消触摸并强制他再次抬起手指以重新选择。

这基本上是我的问题:

【问题讨论】:

  • @JoeDF For android 假定 Java 除非他们说不同,因为这是 SDK 支持的语言。
  • @Gabe 我明白了...但是在我发帖时,Ontouchlistener 是唯一的标签...
  • android 应用程序的java。

标签: android ontouchlistener


【解决方案1】:

选项 1:

设置 OnClickListener 而不是 OnTouchListener。

选项 2:

捕捉 ACTION_UP 并仅在它之后应用您的操作。

boolean pressFlag= false; 

public boolean onTouch(View v, MotionEvent event) {
    
    int action = event.getAction();

    switch (action) {

    case MotionEvent.ACTION_DOWN:
      if(pressFlag==false){
         // applay your action
         pressFlag==true;           
      }else{
         //do nothing
      }
      break;
    
    case MotionEvent.ACTION_UP:
      pressFlag==false;
      break;
   
    default:
    break;

    }
  return true;

}

【讨论】:

  • 谢谢我已经这样做了,但我的情况是这样的,我有几个(按钮幻灯片 ImageViews)一个接一个地出现。因此,当用户在 button 上滑动时,不要抬起手指,next button 会立即滑到用户离开手指时的位置。
【解决方案2】:

好的,非常感谢大家通过以下方式解决它:

qlistener = new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (isTouced == false && event.getAction() != MotionEvent.ACTION_DOWN)
                    return false;
                else isTouced = true;
                ;
....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    相关资源
    最近更新 更多