使用搜索视图过滤gridview

时间:2019-02-01 07:45:33

标签: android android-cardview

我有gridview的文字和ImageView,我想为其添加搜索功能,但是我不知道该怎么做,我的问题是说有没有办法将搜索视图与{{ 1}}? 这是我的gridview适配器

gridview

我希望找到更多帮助 并预先感谢

2 个答案:

答案 0 :(得分:0)

这是在网格列表中使用搜索的简单方法:

首先创建2个列表<>,一个主列表,另一个用于搜索。

private List<Word> movieItems = new ArrayList<>();
private List<Word> movieItemsSearch = new ArrayList<>();

您必须在两个阵列上执行添加/清除/删除操作。

现在使用此代码过滤数据:

if (searchTerm.length() > 0) {
         movieItems.clear();
         for (Word s : movieItemsSearch) {
            String ss = s.getEnglish().toLowerCase();
            if (ss.contains(searchTerm.toLowerCase())) {
                movieItems.add(s);
            }
         }
         adapter.notifyDataSetChanged();
} else {
         movieItems.clear();
         for (Word s : movieItemsSearch) {
              movieItems.add(s);
         }
         adapter.notifyDataSetChanged();
}  

searchTerm 是用户在搜索框中输入的字符串值。

答案 1 :(得分:0)

另一种方法是对您的适配器实施Filterable。请更喜欢本教程,以获取更多信息https://coderwall.com/p/zpwrsg/add-search-function-to-list-view-in-android

基本上,在搜索中,您可以在实现Filterable

后调用此函数来过滤结果
friendListAdapter.getFilter().filter(newText);