RecyclerView添加多个样式不同的Item布局

RecyclerView加载一种Item显示,往往不能满足我们在项目中开发的需要,下面我来给大家演示一下RecyclerView如何给它添加多个布局文件那么现在问题来了,这样实现的方式有很多种,1、通过RecyclerView中的Adapter中的getItemType();进行判断加载不的布局属于哪一种样式,通过样式来加载,但是这儿就会写很多的代码,比如每一个viewHolder对应一种
摘要由CSDN通过智能技术生成

RecyclerView加载一种Item显示,往往不能满足我们在项目中开发的需要,下面我来给大家演示一下RecyclerView如何给它添加多个布局文件

那么现在问题来了,这样实现的方式有很多种,1、通过RecyclerView中的Adapter中的getItemType();进行判断加载不的布局属于哪一种样式,

通过样式来加载,但是这儿就会写很多的代码,比如每一个viewHolder对应一种将被加载的布局,这样写起来的缺点是,加载耗时,浪费资源

今天我采用另外一种方式呈现给大家,希望给大家带来一定的帮助。详情请看代码:


public abstract class MoreHeaderRecyclerAdapter
        <HeaderHolder extends RecyclerView.ViewHolder, HeaderTHolder
                extends RecyclerView.ViewHolder, ItemHolder extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    public static int TYPE_HEAD = 0;//头部
    public static int TYPE_HEAD_TWO = 1;
    public static int TYPE_ITEM = 2;
    public static int TYPE_FOOT = 3;

    public abstract HeaderHolder onCreateHeaderViewHolder(ViewGroup parent, int position);

    public abstract HeaderTHolder onCreateHeaderTViewHolder(ViewGroup parent, int position);

    public abstract ItemHolder onCreateItemViewHolder(ViewGroup parent, int position);

    public abstract void onBindHeaderViewHolder(HeaderHolder holder, int position);

    public abstract void onBindHeaderTViewHolder(HeaderTHolder holder, int position);

    public abstract void onBindItemHolderViewHolder(ItemHolder holder, int position);


    //第三部分和第二部分的接口回调函数
    public interface DetalisCallBack {
        void getDetalisData(int index, int position);
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值