ソフトキーボードを消す方法は以前のエントリに載せました。
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 件のコメント:
コメントを投稿