【问题标题】:Checking, if two buttons are clicked at the same time检查是否同时单击了两个按钮
【发布时间】:2019-05-21 08:28:02
【问题描述】:

有什么方法可以检查两个按钮是否同时被点击?我在按钮单击侦听器中编写了一个 switch 语句,但我无法检查这些按钮何时被同时单击。

这是我的代码:

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.button1:
            Log.d("MR.bool", "Button1 was clicked ");
            break;
        case R.id.button2:
            Log.d("MR.bool", "Button2 was clicked ");
            break;
        default:
            break;
    }
}

【问题讨论】:

  • 你想要什么样的功能?请简要说明。
  • 我每个按钮都有不同的逻辑,但我也想在同一点击这些按钮@Vasudev Vyas 的另一个动作
  • 你不能同时点击这两个按钮。你的问题到底是什么?
  • 是的,没错 :( @ADM

标签: android android-button


【解决方案1】:

我认为按钮的点击之间总是存在毫秒。所以它们永远不会被同时点击。

您可以使用setOnTouchListener,当 Button1 被按下时,您可以等待 Button2 被按下

 button.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if(event.getAction() == MotionEvent.ACTION_DOWN){

                    // wait here for Button2.Click

                }
                if(event.getAction() == MotionEvent.ACTION_UP){
                    // Button Release Event

                }
                return true;
            }

        });

您需要在Handler 上使用Runnable 调用此问题答案:android repeat action on pressing and holding a button

【讨论】:

  • 感谢您的回复,但我没有正确理解毫秒逻辑@K。德克斯特
  • 不会发生您同时单击 2 个按钮的情况。因此,识别某些类似行为的唯一方法是检查是否在按下按钮 1 时按下了另一个按钮
  • @K.Dexter 合乎逻辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-09
  • 2014-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多