Android RecyclerView通过我的EditText搜索过滤
创始人
2024-08-15 07:00:32
0

要实现RecyclerView的搜索过滤功能,可以按照以下步骤进行操作:

  1. 在布局文件中,添加一个EditText用于输入搜索关键字:

  1. 在RecyclerView的Adapter中创建一个新的List用于保存原始数据源,以便进行搜索过滤:
private List originalList;
private List filteredList;
  1. 在Adapter的构造函数中,将原始数据源复制到originalList中,并将filteredList初始化为originalList的副本:
public MyAdapter(List itemList) {
    this.originalList = new ArrayList<>(itemList);
    this.filteredList = new ArrayList<>(itemList);
}
  1. 在Adapter中添加一个方法用于执行搜索过滤操作,该方法将根据搜索关键字更新filteredList:
public void filter(String text) {
    filteredList.clear();
    if (text.isEmpty()) {
        filteredList.addAll(originalList);
    } else {
        text = text.toLowerCase();
        for (Item item : originalList) {
            if (item.getName().toLowerCase().contains(text)) {
                filteredList.add(item);
            }
        }
    }
    notifyDataSetChanged();
}
  1. 在Activity或Fragment中,获取EditText的引用,并添加一个TextWatcher监听器,当搜索关键字发生变化时调用Adapter的filter方法:
EditText editTextSearch = findViewById(R.id.editTextSearch);
editTextSearch.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
        // Do nothing
    }

    @Override
    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
        myAdapter.filter(charSequence.toString());
    }

    @Override
    public void afterTextChanged(Editable editable) {
        // Do nothing
    }
});
  1. 在Activity或Fragment中,创建RecyclerView的Adapter并设置给RecyclerView:
RecyclerView recyclerView = findViewById(R.id.recyclerView);
MyAdapter myAdapter = new MyAdapter(itemList);
recyclerView.setAdapter(myAdapter);

现在,当用户在EditText中输入搜索关键字时,RecyclerView会自动更新以显示匹配的项。

相关内容

热门资讯

玩家必备攻略!微信小程序微乐辅... 玩家必备攻略!微信小程序微乐辅助器,乐达大连穷胡小鸡满天飞,详细脚本(有挂秘诀)1、该软件可以轻松地...
技术分享!闲逸亲友圈app辅助... 技术分享!闲逸亲友圈app辅助,江西中指黑科技辅助软件,详细工具(有挂解密)1、江西中指黑科技辅助软...
今日科普!福建13水插件,吉安... 今日科普!福建13水插件,吉安小程序中至游戏辅助,详细app(有挂解密)所有人都在同一条线上,像星星...
盘点十款!南宁友乐辅助,拱趴大... 盘点十款!南宁友乐辅助,拱趴大菠萝辅助工具,详细器(有挂攻略)1、许多玩家不知道拱趴大菠萝辅助工具辅...
2分钟细说!家乡大二的技巧,开... 2分钟细说!家乡大二的技巧,开挂科技软件免费,详细app(存在有挂)小薇(辅助器软件下载)致您一封信...
每日必备!hhpoker作笔实... 每日必备!hhpoker作笔实战视频,赣牌圈靠谱吗,详细挂(今日头条)1、金币登录送、破产送、升级送...
推荐十款!赣湘互娱怎么下载辅助... 推荐十款!赣湘互娱怎么下载辅助,皮皮跑子胡子,详细教程(有挂详情)赣湘互娱怎么下载辅助破解侠是真的助...
来一盘!微信小程序透视挂,创思... 来一盘!微信小程序透视挂,创思维激k辅助工具,详细软件(今日头条)1、完成创思维激k辅助工具辅助器v...
重大推荐!小逸碰胡辅助器,微信... 重大推荐!小逸碰胡辅助器,微信下程序游戏破解器,详细工具(确实有挂)进入游戏-大厅左侧-新手福利-激...
今日百科!开心赢三张自建房有挂... 今日百科!开心赢三张自建房有挂吗,决胜游戏辅助,详细攻略(有挂辅助)1、许多玩家不知道开心赢三张自建...