EditText
ユーザーからの入力がソフト キーボードからのものか、音声テキスト変換機能 (ソフト キーボードのマイク キーでアクティブ化される) からのものかを知る必要がある場所から派生したクラスがあります。
その目的のためにonKeyDown()
、キーが押されるたびにフラグを設定して、入力が音声テキスト変換機能からではなくキーボードからのものであることを示すために、 をオーバーライドします。
私のオーバーライドは、予想どおり、ソフト キーボードの [Done] キーを押すとonKeyDown()
keyCode を検出します。KEYCODE_ENTER
ただし、ソフト キーボードで他のキーを押しても onKeyDown が起動しないため、必要なフラグを設定できません。
インターネットで onKeyDown 関数に関する多くの投稿を見てきましたが、すべて「Done」キーのトラップに関係しており、ソフト キーボードの他のキーのトラップに関する情報はありません。
どんなアイデアでも大歓迎です。