Скрыть клавиатуру после того, как пользователь завершит запрос в SearchView

Привет, У меня возникли проблемы с поиском, как скрыть Виртуальную клавиатуру Android после поискового запроса с помощью вида поиска. Я хочу, чтобы клавиатура исчезла, когда пользователь нажимает клавишу возврата (в идеале, когда они касаются друг друга вне клавиатуры, но сейчас я соглашусь на ключ возврата). Я работаю над запросом, используя onQueryTextSubmit:

public boolean onQueryTextSubmit(String s) { //Search stuff... searchView.clearFocus(); return true; } 

Однако я бы хотел, чтобы он также работал, если запрос представляет собой пустую строку. Проблема в том, что onQueryTextSubmit не запускается, если это пустая строка: Android SearchView.OnQueryTextListener OnQueryTextSubmit не запускается в пустой строке запроса

Я также не хотел бы использовать ActionBarSherlock, поэтому это решение не будет: Android SearchView пустая строка

Я просто хочу скрыть клавиатуру после того, как пользователь выполнит поиск 🙁 Кажется, такая простая проблема, но дает мне головную боль. Любые предложения? Спасибо!

Если вы используете библиотеку совместимости:

 MenuItemCompat.collapseActionView(searchItem);//searchItem is an instance of MenuItem 

Если вы не используете библиотеку совместимости:

 searchItem.collapseActionView(); 

Использовать InputMethodManager:

 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); 

Для пустого решения строки запроса: Android SearchView.OnQueryTextListener OnQueryTextSubmit не запускается в пустой строке запроса

Это работает:

 searchView.setQuery("", false); searchView.setIconified(true); 

Public boolean onQueryTextSubmit (String s) {// Поиск материала …

  searchView.setIconified(); searchView.clearFocus(); searchView.onActionViewCollapsed(); return true; }