Мне удалось реализовать поисковое представление для фильтрации в реальном времени моего ListView, за исключением того, что поисковое представление не допускает ввод ключевых слов, содержащих пространство клавиш ...
Если я набираю «Тест», появляются все мои строки, содержащие «Тест», но если я набираю «Номер теста», ничего не появляется, даже если в ListView есть несколько совпадений.
Я нашел два сообщения, в которых рассматриваются похожие проблемы, но даже после прочтения я не понимаю, откуда возникла эта проблема.
Вы знаете, как решить эту проблему?
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.persmenu, menu);
MenuItem item = menu.findItem(R.id.menuSearch);
searchView = (SearchView) item.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(newText);
return false;
}
});
return true;
}
РЕДАКТИРОВАТЬ: проблема, кажется, отличается от того, что я думал. Клавиша пробела учитывается, но фильтр dapter.getFilter (). (NewText), похоже, не фильтрует все текстовые представления одинаково.
Он применил запрос к 1 текстовому представлению фильтра. Если я помещаю содержимое второго текстового представления адаптера в текстовое представление 1, запрос работает, и я нахожу правильную информацию.
Итак, знаете, мне нужно понять, почему фильтр применяется в адаптере, но только в первом текстовом представлении, а не во всех ...