调度密钥事件调用方法两次

2022-09-04 07:49:55

我已经在我的活动中实现了dispatchKeyEvent来收听正在按下的Enter键。问题是,当我点击回车时,它会调用我的方法两次?我该如何解决这个问题?谢谢,祝你有美好的一天!

@Override
public boolean dispatchKeyEvent(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.KEYCODE_ENTER) {

              enter();
        return true;
    }
    return super.dispatchKeyEvent(e);
};

答案 1

修复了它,做了这个:起初我正在做,但这引发了我的一个较旧的问题。ACTION_DOWN

 @Override
public boolean dispatchKeyEvent(KeyEvent event) {
    if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
        if (event.getAction() == KeyEvent.ACTION_UP){

         enter();

            return true;
    }}
    return super.dispatchKeyEvent(event);
};

答案 2

推荐