RecycleView多条目加载

本文介绍了一个使用Java编写的RecyclerView适配器实现案例,该适配器能够处理多种类型的视图,并展示了如何根据不同位置返回不同布局的ViewHolder。适用于Android开发者理解和实现复杂的列表布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

适配器

public class Shouyi_adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    public final static int TYPE_1 = 0;
    public final static int TYPE_2 = 1;
    public final static int TYPE_3 = 2;
    public final static int TYPE_4 = 3;
    public final static int TYPE_5 = 4;
    private List<String> LBlist = new ArrayList<>();
    FragmentActivity activity;
    SyBean bean;
    private RecyclerView.ViewHolder  hoder=null;
    public Shouyi_adapter(FragmentActivity activity, SyBean bean) {
        this.bean = bean;
        this.activity = activity;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = null;
        if (TYPE_1 == viewType) {
            view = View.inflate(activity, R.layout.layout_sylb, null);
            return new type1(view);
        }else if(viewType==TYPE_2){
            view = View.inflate(activity, R.layout.layout_grid, null);
            return new type2(view);
        }else if(viewType==TYPE_3){
            view = View.inflate(activity, R.layout.layout_sydonghua, null);
            return new type3(view);}
        else if(viewType==TYPE_4){
            view = View.inflate(activity, R.layout.layout_shang, null);
            return new type4(view);}
        else if(viewType==TYPE_5){
            view = View.inflate(activity, R.layout.layout_syxrecy, null);
            return new type5(view);} else {
            return null;
        }
    }

    @Override
    public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {

        if (holder instanceof type1) {
            
        } else if (holder instanceof type2) {
         

        }

        else if(holder instanceof type3) {
            
        }

        else if(holder instanceof type4){
            
        }

        else if(holder instanceof type5){
            
        }


    }



    @Override
    public int getItemViewType(int position) {
        if (position == 0) {
            return TYPE_1;
        } else if (position == 1) {
            return TYPE_2;
        } else if (position == 2) {
            return TYPE_3;
        } else if (position == 3) {
            return TYPE_4;
        } else {
            return TYPE_5;
        }

    }


    @Override
    public int getItemCount() {
        return 5;
    }

        public class type1 extends RecyclerView.ViewHolder {
        Banner banner;

        public type1(View itemView) {
            super(itemView);
           
        }
    }

    public class type2 extends RecyclerView.ViewHolder {

        private final RecyclerView recyclerView;

        public type2(View itemView) {
            super(itemView);

           
        }
    }

    public class type3 extends RecyclerView.ViewHolder {


        private final SimpleDraweeView simpleDraweeView;

        public type3(View itemView) {
            super(itemView);

     
        }
    }


    public class type4 extends RecyclerView.ViewHolder {


        private final ViewFlipper viewFlipper;

        public type4(View itemView) {
            super(itemView);
     

        }
    }

    public class type5 extends RecyclerView.ViewHolder{

        private final RecyclerView recyclerView;

        public type5(View itemView) {
            super(itemView);

            recyclerView = (RecyclerView) itemView.findViewById(R.id.shouye_xia);

        }
    }


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值