android - 向 RecyclerView 中的现有项目添加新布局
问题描述
我想将一个新容器添加layout
到一个现有的 XML 项RecyclerView
这是我想做的一个例子(基于R.layout.item_simple
XML)
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
return new ViewHolder(inflater.inflate(R.layout.item_simple, parent, false));
}
R.layout.item_simple
RecyclerView.Adapter
创作内容:
______ LINEAR LAYOUT
______ IMAGE VIEW
______ TEXT VIEW
我想通过向layout
用户视图添加一个新的来做:
______ RELATIVE LAYOUT
______ LINEAR LAYOUT
______ IMAGE VIEW
______ TEXT VIEW
是否可以更改此项目视图,最好是更改为RecyclerView.Adapter
?
解决方案
有两种方法可以实现这一点。首先是始终将附加布局添加到您的item_simple
和隐藏/显示中。第二种方法是使用getItemViewType
返回不同的layout
类型。这种方式onCreateViewHolder
为每种类型调用一次,您可以为不同layout
的 s充气
推荐阅读
- python - 如何在 python-turtle 中设置水平和垂直边框
- oracle - 使用分隔值拆分记录
- python - 查找文件时,我在 haarcascade_frontalface_default.xml 中打开 cv 时出错
- flutter - Riverpod 条件提供程序状态更新
- android - 从 ViewModel 向 ViewPager2 的 Adapter 发送实时数据
- javascript - 未处理的拒绝(TypeError):observer.complete.bind 不是函数
- anylogic - AnyLogic 中的意外行为 SelectOutput 块
- javascript - 将“未定义”转换为未定义 - JavaScript
- c++ - CLion 不会使用地址清理程序运行二进制文件
- c# - C# - 如何从字典创建数据表?