java - 如何使用 Recyclerview android 将 searchView 放在多个视图中
问题描述
我知道如何在回收器视图中将搜索视图放在单个视图中,但是在多视图回收器视图中呢?在这里,我使用多视图,因为在单元格之间显示广告。
这是我在单视图回收器视图中实现搜索的代码:- 适配器类:-
private List<Model> models;
public StoriesAdapter(ArrayList<Model> models, Context context) {
this.models = models;
this.context = context;
}
.
.
.
@SuppressLint("NotifyDataSetChanged")
public void filterList(List<Model> filteredList){
models = filteredList;
notifyDataSetChanged();
}
MainActivity 类:
private MyAdapter mAdapter;
List<Model> models;
//Oncreate Mthod:-
EditText searchBar = findViewById(R.id.searchBaar);
searchBar.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
filter(s.toString());
}
});
models = new ArrayList<>();
private void filter(String text){
List<Model> filteredList = new ArrayList<>();
for (Model items : models)
{
if (items.getTitle().toLowerCase().contains(text.toLowerCase())){
filteredList.add(items);
}
}
mAdapter.filterList(filteredList);
}
现在的问题是如果我的数组列表被定义为这样的对象,我该如何添加搜索视图:-
private ArrayList<Object> mList;
public StoriesAdapter(ArrayList<Object> mList, Context context) {
this.mList = mList;
this.context = context;
}
解决方案
推荐阅读
- java - 用 X 替换每个下划线
- javascript - 无法使用 react-slider 在我的反应应用程序中显示动态滑块
- unity3d - (Unity 错误)“android.enableR8”选项已弃用,不应再使用。它将在未来版本的 Android Gradle 中删除
- python - 如何导入没有 .py 扩展名的 python 脚本?
- python - 如何在 Python 中体素化 3D 标量场的等值面?
- python-3.x - 我想制作一个 discord.py 机器人,它会从文本文件中逐行读取并每小时输出一行文本
- python - 使用两个不同的时间戳获取时间增量,一个有 UTC Stamp,另一个没有
- python - AttributeError:尝试使用 sqlalchemy 创建数据库时无法设置属性
- amazon-web-services - Cognito 注册上的登录链接生成
- python - 返回编号列表的基本 while 循环