识别退出键

问题描述 投票:0回答:2

我目前正在开发一个练习程序,该程序可处理各种键盘输入,以便我可以了解它们如何在使用 Java 的 Android 应用程序中工作。但我很难让

ESC
键被识别。下面的代码不起作用。有没有人曾经设法让
ESC
键在应用程序中工作?真的可以吗?

editText.setOnEditorActionListener(new OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
        boolean handled = false;
        if (keyEvent.getKeyCode() == KeyEvent.KEYCODE_ESCAPE) {
                textView.setText("Escapekey pressed");
            handled = true;
        } 
        return handled;
    }
});

总而言之,我希望程序能够识别

ESC
键。

java android keyboard android-softkeyboard
2个回答
0
投票

Android模拟器似乎不会将此密钥转发给应用程序,就像例如功能键。从真实键盘在真实设备上接收这些按键事件对我来说效果很好。


0
投票

我在 Android 9 及更高版本中遇到了这个问题。在这些版本中,“Esc”键盘键会生成

KeyEvent.KEYCODE_BACK
,而不是 Android 6 中的
KeyEvent.KEYCODE_ESCAPE
(我尚未测试 Android 7 和 8)。所以我只是将此代码添加到我的应用程序中:

if( code == KeyEvent.KEYCODE_BACK ) {
    code = KeyEvent.KEYCODE_ESCAPE; //  Обходим глюки новых Андроидов...
}
© www.soinside.com 2019 - 2024. All rights reserved.