onKeyPreIme不会打电话

Sna*_*gon 1 android keypress android-custom-view android-layout android-event

我有一个继承的自定义视图,LinearLayout该视图位于ViewSwitcher.我想返回上一次关于Back onPreKeyImepress的视图,所以我覆盖了这个视图但是当我按Back时,它似乎没有输入方法,并且活动处理Back.

我错过了什么?

@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_BACK)
        return viewModel.backClicked();
    return super.onKeyPreIme(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)

我在if语句中有一个断点,它永远不会在那里冻结.

PS,我不允许使用碎片.

Eri*_* B. 5

尝试覆盖该dispatchKeyEvent方法.做这样的事情:

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    if(event.getKeyCode() == KeyEvent.KEYCODE_BACK){
       Log.d("Test","Back Pressed");
       return viewModel.backClicked();
    }
    return super.dispatchKeyEvent(event);
}
Run Code Online (Sandbox Code Playgroud)