我使用遥控器访问设备。
在我的情况下,当我按下keydown上的任何按钮时,连续调用keyup事件。
我认为onkey up事件应仅在释放键时调用,但在按下按钮时调用它。
有没有办法解决这个问题或替代解决方案来跟踪长按?
答案 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;
}
}
};