0.RecyclerView的特性
1.LayoutManager类
2.Adapter类
3.ViewHolder类
4.配置不同的LayoutManager
5.为item配置点击事件
6.RecyclerView中插入和删除数据
7.Koltin写法
.
.
.
0.RecyclerView的特性:
- 灵活可以配置
- 可以自定义并且可以重复使用的Item
- 高度解耦
.
.
1.LayoutManager类:
LayoutManager类是一个抽象类,安卓给我们提供了三个它的实现类供我们使用:
1.1LinearLayoutManager: 线性布局管理器。
LinearLayoutManager给我们提供了一些API让我们可以对展示效果进行更丰富的操作。

1.2GridLayoutManager: 网格布局管理器
我们可以在它的构造方法中传入它的列数。

1.3StaggeredGridLayoutManager: 瀑布流布局管理器
宽度相同高度不同的ItemView。

确定RecyclerView的样式,是线性的,网格的还是瀑布流的。
2.Adapter类
用来处理视图和数据之间的关系,一般情况下和ViewHolder搭配使用。
每个Adapter都必须继承自RecyclerView.Adapter.并实现三个方法:
**onCreateViewHolder:**创建ViewHolder并返回
//创建并返回泛型中要求的ViewHolder
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new MyViewHolder(LayoutInflater.from(context).inflate(R.layout.itemlayout,parent,false));
}
onBindViewHold: 将数据放入ViewHolder中
//通过ViewHolder来绑定数据
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, final int position) {
//给ViewHolder持有的控件实例初始化
holder.mIv.setImageResource(getIcon(position));
holder.mTv.setText(dataSource.get(position));
//为瀑布流布局设置动态高度
if (recyclerView.getLayoutManager().getClass() == StaggeredGridLayoutManager.class)
{
//如果


4097

被折叠的 条评论
为什么被折叠?



