Android检测到长按按钮

时间:2014-04-03 07:06:07

标签: android keyevent

我使用遥控器访问设备。

在我的情况下,当我按下keydown上的任何按钮时,连续调用keyup事件。

我认为onkey up事件应仅在释放键时调用,但在按下按钮时调用它。

有没有办法解决这个问题或替代解决方案来跟踪长按?

1 个答案:

答案 0 :(得分:1)

long lastDown;
long keyPressedDuration ;

button.setOnTouchListener(new OnTouchListener() {
     @Override
     public boolean onTouch(View v, MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_DOWN) {
           lastDown = System.currentTimeMillis();
        } else if (event.getAction() == MotionEvent.ACTION_UP) {
           keyPressedDuration = System.currentTimeMillis() - lastDown;
        }
     }
  };