【发布时间】:2023-04-10 19:14:01
【问题描述】:
我有一个 SearchView 和一个 ListView。我正在使用以下代码在我的onCreate 方法中过滤 ListView 项目
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 毫米直径
如果用户键入 DI 或 AI,我可以过滤 ListView 项目,但如果用户键入 D7 后跟空格,或者如果用户键入 K7 后跟空格,它不会过滤 ListView 项目,尽管有那些项目人物。我怎样才能解决这个问题?
【问题讨论】:
标签: android listview searchview android-filterable