問題を引き起こしている 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 でボタンがソフト キーボードを非表示にしないようにする
ソフトキーボードが隠れないようにする方法はありますか?