(アクション バーではなく) レイアウトに SearchView があり、通常の方法でキーボードを閉じることができません。
public static void hideKeyboard(Activity activity) {
InputMethodManager imm = (InputMethodManager)activity
.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null && activity != null) {
View currentFocus = activity.getCurrentFocus();
if (currentFocus != null) {
imm.hideSoftInputFromWindow(currentFocus.getWindowToken(), 0);
}
}
}
SearchView はフォーカス状態を維持します。古いデバイスでこの方法を使用すると、キーボードが閉じられてから再表示されます。
問題は、SearchView が実際には内部で独自の状態を維持するビューの階層であるという事実にあると思います。
キーボードを閉じて SearchView のフォーカスを外すにはどうすればよいですか?