У меня есть SearchView и ListView. Я использую следующий код для фильтрации элементов ListView в моем методе onCreate
ListAdapter listAdapter = new ListAdapter(this, ChainageFactory.getAllListViewItems());
listView.setAdapter(listAdapter);
listView.setTextFilterEnabled(true);
filter = listAdapter.getFilter();
searchView.setIconifiedByDefault(false);
searchView.setOnQueryTextListener(this);
searchView.setSubmitButtonEnabled(true);
searchView.setQueryHint("Search Here");
Ниже приведены мои методы onQueryTextChange и onQueryTextSubmit.
@Override
public boolean onQueryTextChange(String newText) {
if (TextUtils.isEmpty(newText)) {
filter.filter(null);
} else {
filter.filter(newText);
}
return true;
}
public boolean onQueryTextSubmit(String query) {
return false;
}
Мой ListView состоит из следующих элементов.
- DIK70300-DI K7 Диаметр 300 мм
- DIK70300-DI K7 Диаметр 400 мм
- AIK70300-DI D7 450 мм диам.
- AIK70300-DI D7 500 мм диам.
Я могу фильтровать элементы ListView, если пользователь вводит DI или AI, но в случае, если пользователь вводит D7, за которым следует пробел, или если пользователь вводит K7, за которым следует пробел, он не фильтрует элементы ListView, хотя есть элементы с этими символами. Как я могу разобраться в этом?