Я только что вырвал свои волосы из-за той же проблемы.
Я пробовал android: focusable = "false". Я попробовал InputMethodManager. Я пытался создать фиктивный вид, чтобы сфокусироваться, но ничего не получалось.
Я наконец решил это с помощью следующего кода внутри onCreateOptionsMenu ():
final ViewTreeObserver observer = mSearchView.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener(){
@Override
public void onGlobalLayout() {
observer.removeOnGlobalLayoutListener(this);
mSearchView.clearFocus();
}
});
Проблема заключалась в том, что на каждом этапе жизненного цикла фрагмента меню еще не было создано. Метод onCreateOptionsMenu () вызывался после onResume (), но только на некоторых устройствах, на которых я тестировал, что действительно странно.
Приведенный выше код обеспечивает очистку фокуса после любых изменений фокуса во время создания страницы.
Я надеюсь, что это поможет кому-то еще, это сэкономило бы мне много времени, чтобы узнать это с самого начала.