2

問題を引き起こしている 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);
}

しかし、現在、矢印キーの 1 つを使用するたびに、ソフト キーボードが非表示になるという問題が発生しています。

Stackoverflow でまったく同じ問題と思われる別の質問が 1 つ見つかりましたが、誰も彼に答えませんでした。

Android でボタンがソフト キーボードを非表示にしないようにする

ソフトキーボードが隠れないようにする方法はありますか?

4

1 に答える 1

0

loadUrl/loadData/loadDataWithBaseUrl は内部的にソフト キーボードを非表示にするためです。ユーザーが必要なものをすべて入力するまで、JavaScript イベントを送信しないでください。適切な場合は、JavaScript を介してイベントを処理します。

于 2012-09-29T22:15:42.910 に答える