如何自定义RecyclerView的搜索方法

鸣鸣Amadues 2019-02-19 04:54:27
现在有一个列表,用RecyclerView实现,顶部有个搜索,需要实现输入搜索文字后返回对应的记录。
我在网上只找到一个ListView的搜索,代码如下:
		mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
// 当点击搜索按钮时触发该方法
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}

// 当搜索内容改变时触发该方法
@Override
public boolean onQueryTextChange(String newText) {
if (!TextUtils.isEmpty(newText)){
//lListView.setFilterText(newText);
}else{
//lListView.clearTextFilter();
}
return false;
}
});


有两个问题:
1,如果用RecyclerView,该怎么实现?
2,我的列表记录有好几个字段,如果我只想搜索指定的字段,应该怎么做?
...全文
349 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
default_Pyuhang 2019-02-20
  • 打赏
  • 举报
回复
让后台小哥写个搜索接口
王能 2019-02-20
  • 打赏
  • 举报
回复
edittext+RecyclerView edittext添加监听>根据et的内容重新组装数据>将新数据刷新到rv的adapter里并调用notifyDataSetChanged
鸣鸣Amadues 2019-02-20
  • 打赏
  • 举报
回复
用searchView解决了。 https://blog.csdn.net/qq_34650238/article/details/79378475 https://blog.csdn.net/xx244488877/article/details/69486330 参考了以上两个博客。
鸣鸣Amadues 2019-02-20
  • 打赏
  • 举报
回复
引用 6 楼 default_Pyuhang 的回复:
让后台小哥写个搜索接口
我自己就是后台小哥。
鸣鸣Amadues 2019-02-19
  • 打赏
  • 举报
回复
引用 2 楼 SemiraChen 的回复:
额,你上面这段代码应该是搜索框控件的把 所以是用了SearchView控件吗? 假设没用searchView控件,仅仅只是一个RecyclerView+edittext的话 那就是RecyclerView显示数据,点搜索按钮的时候得到edittext的内容。 具体处理搜索就是,把数据根据edittext内容筛选一下呗。重新设置数据源。 我遇到的因为数据是从网络来的,所以我只要点搜索的时候重新发送请求就好了,最后重设RV的数据源。 数据从本地数据库获得的话,就重新带条件再查找一次数据库就好了,最后重设RV的数据源。
我的数据也是网络请求得来的,但我的搜索是搜索是本地搜索,也就是只搜索界面上显示的。
鸣鸣Amadues 2019-02-19
  • 打赏
  • 举报
回复
引用 2 楼 SemiraChen 的回复:
额,你上面这段代码应该是搜索框控件的把 所以是用了SearchView控件吗? 假设没用searchView控件,仅仅只是一个RecyclerView+edittext的话 那就是RecyclerView显示数据,点搜索按钮的时候得到edittext的内容。 具体处理搜索就是,把数据根据edittext内容筛选一下呗。重新设置数据源。 我遇到的因为数据是从网络来的,所以我只要点搜索的时候重新发送请求就好了,最后重设RV的数据源。 数据从本地数据库获得的话,就重新带条件再查找一次数据库就好了,最后重设RV的数据源。
是searchView的,searchView和edittext推荐用哪个?
SemiraChen 2019-02-19
  • 打赏
  • 举报
回复
额,你上面这段代码应该是搜索框控件的把 所以是用了SearchView控件吗? 假设没用searchView控件,仅仅只是一个RecyclerView+edittext的话 那就是RecyclerView显示数据,点搜索按钮的时候得到edittext的内容。 具体处理搜索就是,把数据根据edittext内容筛选一下呗。重新设置数据源。 我遇到的因为数据是从网络来的,所以我只要点搜索的时候重新发送请求就好了,最后重设RV的数据源。 数据从本地数据库获得的话,就重新带条件再查找一次数据库就好了,最后重设RV的数据源。
鸣鸣Amadues 2019-02-19
  • 打赏
  • 举报
回复
我现在用的是searchview,但是我在网上看到“SearchView虽然是官方的但是一般不推荐使用!对于搜索框的实现官方提供了SearchView但是很多坑需要去填推荐用EditText!” 是不是用EditText比较好?

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧