2

ユーザーがハードウェアキーボードで書き始めるとき、その入力を特定のエディットテキストビューに向けるアクティビティが必要です。

キーイベントをオーバーライドして「ハードコーディング」しようとしましたが、それは非常に非効率的です。特に、さまざまな国や言語をサポートすることになると。

例:

case KeyEvent.KEYCODE_A:
case KeyEvent.KEYCODE_B:
case KeyEvent.KEYCODE_C:
etc.

Androidでこれをシンプルかつクリーンにする方法はありますか?参考までに、GooglePlayストアには私が探しているのと同じ機能があります。

ありがとう

4

1 に答える 1

1

これを試してみてください。

@Override   
 public boolean onKeyDown(int keyCode, KeyEvent event){

    final EditText mEditText = (EditText) findViewById(R.id.edit_text);
    if (!mEditText.hasFocus()){ 
        mEditText.requestFocus();
        mEditText.onKeyDown(keyCode, event);
    }
    return super.onKeyDown(keyCode, event);
}
于 2013-01-07T12:31:53.137 に答える