8

ハードキーボードまたはソフトキーボードを使用してキーの押下を確実に検出するにはどうすればよいですか?

私のアプリはwifi経由で別のデバイスをリモート制御しており、ソフトキーボードまたはハードキーボードのいずれかでキーが押されるたびに検出する必要があります。EditTextは必要ありません。文字が押されたときに文字を一度に1つずつ送信するだけで、最後のテキスト文字列は必要ないからです。

OnKeyPressでEditTextを使用しようとしましたが、ソフトキーボードでキーが押されないという問題が発生しました。また、各キーを押す必要があるため、TextWatcherは適切なオプションではありません。

必要に応じてEditTextを使用しますが、使用したくない場合もあります。私が本当に望んでいるのは:

  • ユーザーが検索ボタンを押したときにソフトキーボードを表示します
  • ユーザーがキーを押すと、コードがリモートデバイスに送信されます。EditTextはリモートデバイスに表示されるため、画面に何も表示する必要はありません。
  • ユーザーがソフトキーボードのカスタム完了ボタンを押して閉じます

助言がありますか?

4

1 に答える 1

1

onKeyDown(int keyCode, KeyEvent event)アプリケーション アクティビティ クラスの [ ][1] および (または) [ ][2] メソッドをオーバーライドできますonKeyUp(int keyCode, KeyEvent event)。これにより、バック キーやその他のハードウェア キーなどのキーについても通知を受け取ることができます...

注: トラックボールの動きなどに関する通知を受け取ることができます...

[1]: http://developer.android.com/reference/android/view/View.html#onKeyDown(int , android.view.KeyEvent) [2]: http://developer.android.com/reference/ android/view/View.html#onKeyUp(int , android.view.KeyEvent)

于 2010-11-23T17:26:24.317 に答える