Показать выбор из списка предложений в Android searchview

У меня есть поиск с предложением. Если пользователь выбирает элемент из списка, отправляется новое намерение, и я могу применить свой фильтр, но поиск остается пустым.

Если я обновляю вид поиска в onNewIntent с помощью setQuery (см. Ниже), эффект заключается в том, что выбранный элемент отображается в окне поиска, но список предложений появляется снова. Могу ли я избежать этого и показывать только текущий текст запроса в окне поиска без всплывающего списка предложений?

@Override protected void onNewIntent(Intent intent) { if (Intent.ACTION_SEARCH.equals(intent.getAction())) { final String query = intent.getStringExtra(SearchManager.QUERY); if (!query.equals(searchView.getQuery())) { searchView.setQuery(query, false); // makes the suggestions pop up } applyFilter(query); } } 

Хитрость заключается в замене поведения по умолчанию менеджера поиска с помощью onSubmitListener в представлении поиска и возвращении true из его метода onSuggestionClick, а не вызова setQuery (запроса, false) в обработчике целей:

 @Override public boolean onSuggestionClick(int position) { String suggestion = getSuggestion(position); searchView.setQuery(suggestion, true); // submit query now return true; // replace default search manager behaviour } private String getSuggestion(int position) { Cursor cursor = (Cursor) searchView.getSuggestionsAdapter().getItem( position); String suggest1 = cursor.getString(cursor .getColumnIndex(SearchManager.SUGGEST_COLUMN_TEXT_1)); return suggest1; }