【发布时间】:2015-03-03 10:42:42
【问题描述】:
我需要在我的 android 应用程序中实现搜索功能,该应用程序使用工具栏、SlidingTabLayout 和包含片段的 ViewPager。每个片段内部都有一个包含项目列表的 RecyclerView。
RecyclerView 数据是在单独的类 (DataAccess.java) 中静态定义的,这些列表会被更新,并且 RecyclerView 只需通过调用即可刷新(不传递新数据)
mRecyclerView.getAdapter().notifyDataSetChanged();
有没有什么简单的方法可以在不更改数据的情况下临时过滤 RecyclerView,并且在用户按下工具栏中的返回按钮以删除过滤器并显示初始列表后。
在工具栏菜单中按下搜索图标之前:
因此,当用户输入“Josip...”时,过滤器将处于活动状态
在 SearchView 中按下 X 按钮后,用户将获得与以前相同的数据,无需过滤。
@Override
public boolean onQueryTextChange(String newText) {
// filter data (temporary remove all items from DataAccess.list that don't .startsWith(newText)
}
@Override
public boolean onQueryTextSubmit(String query)
// Doesn't help if I revert deleted items here
}
【问题讨论】:
标签: android-fragments searchview android-recyclerview android-toolbar