Использование пробела в поиске для фильтрации списка - PullRequest
0 голосов
/ 28 июня 2018

Мне удалось реализовать поисковое представление для фильтрации в реальном времени моего 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, запрос работает, и я нахожу правильную информацию. Итак, знаете, мне нужно понять, почему фильтр применяется в адаптере, но только в первом текстовом представлении, а не во всех ...

...