3

(アクション バーではなく) レイアウトに 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 のフォーカスを外すにはどうすればよいですか?

4

1 に答える 1