Android 安卓:为什么我的软键盘会在这些按键事件之后隐藏起来?

Android 安卓:为什么我的软键盘会在这些按键事件之后隐藏起来?,android,Android,我的Android应用程序中有一个WebView,这给了我一个问题。起初,我没有正确处理箭头键的keyDown事件,我必须捕获keyDown并使用如下Javascript来正确处理它们: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { Log.v(TAG, "KeyCode: " + keyCode + " KeyEvent: " + event); switch(keyCode)

我的Android应用程序中有一个WebView,这给了我一个问题。起初,我没有正确处理箭头键的keyDown事件,我必须捕获keyDown并使用如下Javascript来正确处理它们:

    @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    Log.v(TAG, "KeyCode: " + keyCode + "    KeyEvent: " + event);
    switch(keyCode) {
    case 19: /* Up */
        this.loadUrl("javascript:editor.setCursor(editor.getCursor().line - 1, editor.getCursor().ch);");
    case 20: /* Down */
        this.loadUrl("javascript:editor.setCursor(editor.getCursor().line + 1, editor.getCursor().ch);");
    case 21: /* Left */
        this.loadUrl("javascript:editor.setCursor(editor.getCursor().line, editor.getCursor().ch - 1);");
    case 22: /* Right */
        this.loadUrl("javascript:editor.setCursor(editor.getCursor().line, editor.getCursor().ch + 1);");
    }
    return super.onKeyDown(keyCode, event);
}
但现在我遇到了一个问题,每次我使用一个箭头键时,软键盘都会隐藏起来

我在Stackoverflow上发现了另一个问题,似乎是完全相同的问题,但没有人回答他:


有什么方法可以防止软键隐藏在我身上吗?

因为loadUrl/loadData/loadDataWithBaseUrl在内部隐藏软键键盘。在用户输入所需内容之前,不应发送javascript事件。如果合适,可以通过javascript处理事件。

因为loadUrl/loadData/loadDataWithBaseUrl在内部隐藏软键键盘。在用户输入所需内容之前,不应发送javascript事件。如果合适,可以通过javascript处理事件。

您是否可以尝试使用return false而不是return super.onKeyDownkeyCode,event@rOim我尝试返回false,但它仍然关闭了键盘。是解决方法和问题的原因。是否可以尝试使用return false而不是return super.onKeyDownkeyCode,event@rOim我尝试返回false,但它仍然关闭了键盘。是解决问题的方法和原因。