[英]How to filter a listview using SearchView
我正在使用 searchView 过滤我的列表视图。 但问题是只有当我写下完整的元素名称时,才会过滤列表。 例如:我有一个用户列表 - {“Bob”、“John”、“James”}。 如果我在 searchView 中写 J,我希望看到 John 和 James。 但我得到一个祝酒词,这个名字不在列表中。 请帮忙。
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
if (users.contains(query)){
arrayAdapter.getFilter().filter(query);
} else {
Toast.makeText(ChatListActivity.this, "There is no user with this username, please search again.", Toast.LENGTH_SHORT).show();
}
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
if (users.contains(newText)){
arrayAdapter.getFilter().filter(newText);
} else {
Toast.makeText(ChatListActivity.this, "There is no user with this username, please search again.", Toast.LENGTH_SHORT).show();
}
return false;
}
});
请尝试使用这样的FilterListener
@Override
public boolean onQueryTextChange(String query) {
Filter.FilterListener listener = new Filter.FilterListener() {
@Override
public void onFilterComplete(int count) {
// conditions to check whether your list is empty
}
};
newsListAdapter.getFilter().filter(query, listener);
return false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.