结构分析
1,有多少种item的样式
2,每个位置展示的样式及数据
样式格式
1,头部样式
2,条目样式
3,分割线样式
重要代码实现
1,在Adapter中定义item的类型
2,实现getItemViewType()方法
3,实现onCreateViewHolder()方法,引入不同的布局
根据不同的 viewType 值创建不同的 ViewHolder;
头是 HeadHolder、商铺是 SellerHoler、分割线是 RecommentHoler;
拷⻉各个 Holder 需要的布局⽂件;
View.inflate() ⽅法会让布局的根节点宽⾼属性设置失效,⽤
LayoutInflator 的 inflate() ⽅法更加灵活。
4,定义需要的ViewHolder类
头部
class HeadHoler extends RecyclerView.ViewHolder {
private Head data;
037_展示⾸⻚商家列表
184
public HeadHoler(View itemView) {
super(itemView);
}
public void setData(Head data) {
this.data = data;
}
}
商家管理
class SellerHoler extends RecyclerView.ViewHolder {
private Seller data;
public SellerHoler(View itemView) {
super(itemView);
}
public void setData(Seller data) {
this.data = data;
}
}
分割线
class RecommentHoler extends RecyclerView.ViewHolder {
private HomeItem data;
public RecommentHoler(View itemView) {
super(itemView);
}
public void setData(HomeItem data) {
this.data = data;
}
}
注意: 具体绑定数据在 setData()方法里面去实现
5,实现onBindViewHolder()方法
网友评论