首页 > 解决方案 > 在 searchview 中使用空格键过滤列表视图

问题描述

我已经成功实现了一个 searchview 来实时过滤我的 ListView,除了 searchview 不接受输入包含键空间的关键字......

如果我输入“测试”,我所有包含“测试”的行都会出现,但如果我输入“测试编号”,即使我的 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().filter(newText) 似乎并没有以相同的方式过滤所有文本视图。它将查询应用于过滤器的 1 个文本视图。如果我将适配器的第二个 textview 的内容放在 1 textview 中,则查询正在工作并且我找到了正确的信息。所以,知道,我需要了解为什么过滤器应用在适配器中,但只应用在第一个文本视图中,而不是全部......

标签: javaandroidlistviewsearchviewspace

解决方案


推荐阅读