1

GUIをレンダリングするGLSurfaceViewがあります。あるケースでは、ユーザーが数値を入力する必要があります。これを実現するには、GLSurfaceViewを上にしてFrameLayoutを使用し、後ろにEditTextを配置した別のダミーレイアウトを使用します。入力が必要な場合は、EditTextにフォーカスを合わせ、ソフトキーボードを強制的に表示します。次に、入力を終了し、キー、IME_ACTION_DONE、バックキーなどを入力するさまざまな方法をリッスンします。

しかし、私はこれが機能しない1つのケースに気づきました。一部のキーボードには、キーコードをまったく送信しない「キーボードを非表示」ボタンがあります(このキーからキーコードを送信するものもあります)。キーボードが閉じるだけで、入力が行われたかどうかを判断できません。そして、EditTextはまだ焦点を合わせています。

このイベントをキャッチする方法、またはユーザーがキーボードを閉じたかどうかを確認する他の方法はありますか?

4

1 に答える 1

0

箱の外で考えなければならないこともあります。場合によっては、キーボードがユーザーによって隠されているかどうかを確認する方法が見つかりませんでした。そして、おそらく方法はありません。そこで、入力フィールドなどを含む「通常の」xmlレイアウトでこれがどのように機能するかを考え始めました。当時、これが問題になるとは思っていなかったためです。答えは簡単でした。これらのフォームには、常に「完了」、「保存」、「更新」などのボタンがあります。

つまり、ユーザーが入力を終了したことをアプリに通知するための追加オプションとしてボタンを追加することになりました。:)

于 2012-09-01T09:37:26.327 に答える