ソフトキーボードを消す方法は以前のエントリに載せました。
Android ボタンを押したときにソフトキーボードを消す
InputMethodManager を使う方法です。
で、
SearchManager で onNewIntent() でこれをやっても
ソフトキーボードが消えない消えない。
まぁ。よくよく考えれば、検索ボックスにソフトキーボードがバインド
されているんだから、intent が帰ってきたところじゃなくて、
検索ボックスが消された(=dismiss) されたときに処理しないと
だめじゃん。ということに気づきました。
ということで、
SearchManager の onDismissListener でやりましょう。
コードはこんな感じ
onCreate() の中です。
- SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
- searchManager.setOnDismissListener(new SearchManager.OnDismissListener() {
- @Override
- public void onDismiss() {
- InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
- inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
- }
- });
0 件のコメント:
コメントを投稿