Фильтр отображения текста в SearchView не удаляется


Вот скриншот реализации searchviewПрилагается скриншот реализации представления поиска с успешно работающей активностью listview. Но, на любом текстовом поиске в представлении поиска он показывает результат с сероватым тостом, как функция отображения того, что пользователь ввел для фильтрации списка. Как удалить его, если он блокирует отображение списка в фоновом режиме?

1 2

1 ответ:

Вы должны поместить свой адаптер в отдельный фильтр. Код выглядит примерно так.

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, android.R.id.text1,
                stringlist);
listView.setAdapter(adapter);
listView.setTextFilterEnabled(true);
Filter filter = adapter.getFilter();

И при прослушивании текстового запроса, если ваш код выглядит примерно так

@Override
public boolean onQueryTextChange(String newText) {
    if (TextUtils.isEmpty(newText)) {
        listView.clearTextFilter();
    } else {
        listView.setFilterText(newText.toString());
    }
    return true;
}

Просто измените его на этот

@Override
public boolean onQueryTextChange(String newText) {
   if (TextUtils.isEmpty(newText)) {
        filter.filter(null);
   } else {
        filter.filter(newText);
   }
   return true;
}