Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用SearchView筛选listview_Java_Android - Fatal编程技术网

Java 如何使用SearchView筛选listview

Java 如何使用SearchView筛选listview,java,android,Java,Android,我正在使用searchView筛选我的列表视图。但问题是,只有当我写入完整的元素名时,才会过滤列表。例如:我有一个用户列表-{“Bob”、“John”、“James”}。如果我在searchView中写J,我希望看到约翰和詹姆斯。但我为这个名字不在名单上而干杯。请帮忙 searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean o

我正在使用searchView筛选我的列表视图。但问题是,只有当我写入完整的元素名时,才会过滤列表。例如:我有一个用户列表-{“Bob”、“John”、“James”}。如果我在searchView中写J,我希望看到约翰和詹姆斯。但我为这个名字不在名单上而干杯。请帮忙

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;
        }
    });
请试着用一个像这样的

@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;
}

您正在列表视图中使用“回收器”视图或“列表视图”上的搜索。