SoftInputの処理

前回、Androidのキーボードのモードオプション、でキーボードのモードについて書きましたが、このエンターボタンが押された時の処理で嵌ったことがあったので覚書を。
キーボードのエンターボタンが押された時の処理を、EditText.OnEditorAction 等で拾う場合、実際の必要な処理を行う前に、

InputMethodManager#hideSoftInputFromWindw();

を呼んで明示的にキーボードを非表示にしておかないと、例えば、そこから遷移した次の画面で、Viewが更新されないとか、dialog.show(); したのにダイアログが画面に表示されない、などの問題が起きるよようです。
どうやら、明示的にキーボードを消してやらないと、Activityのレイアウトがフォーカスを持っていないようだ。(次の画面に遷移すればもちろんキーボードはすでに消えているのだけど、内部的にはまだキーボードにフォーカスがあるのか????)

詳細未確認なので、認識違いだったらつっこみ入れてください。

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

getting health insurance in new york buy clomid online UK major health insurance companies buy levitra uk online what are wells fargo hours buy finasteride affordable health insurance for children accutane no prescription medical center of trinity viagra online uten resept midwestern university wellness center dapoxetine top individual health insurance companies viagra ireland