XrecyclerView 多条目

public class Home_ShowAdapter extends RecyclerView.Adapter {

    private   Banner banner;
    private Context context;
    private ShowBean bean;
    private final int Banner_TYPE = 0;
    private final int Chess_TYPE=1;
    private final int ZC_TYPE=2;
    private List priList;
    private List PdList;
    private List TJList;


    public Home_ShowAdapter(Context context, ShowBean bean, List priList,List PdList
      ,List TJList) {
        this.context = context;
        this.bean = bean;
        this.priList = priList;
        this.PdList = PdList;
        this.TJList = TJList;
    }


    @Override
    public int getItemViewType(int position) {

        if(position==0){
            return Banner_TYPE;
        }else if(position==1){
            return Chess_TYPE;
        }else if(position==2){
            return ZC_TYPE;
        }else {
            return super.getItemViewType(position);
        }



    }

    @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
          View view;
        if(viewType==Banner_TYPE){
            view = View.inflate(context, R.layout.layout_banner_holder, null);
            Banner_Holder banner_holder = new Banner_Holder(view);
            return banner_holder;
        }else if(viewType==Chess_TYPE){
            view = View.inflate(context, R.layout.layout_chess_holder, null);
            Chess_Holder chess_holder = new Chess_Holder(view);
            return chess_holder;

        }else if(viewType==ZC_TYPE){
            view = View.inflate(context, R.layout.layout_zc_holer, null);
            ZC_Holder zc_holder = new ZC_Holder(view);
            return zc_holder;

        }


        return null;
    }

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

        if(holder instanceof Banner_Holder){
            Banner_Holder bannerHolder = (Banner_Holder) holder;


            bannerHolder.banner.setImageLoader(new GlideImageLoader());
            bannerHolder.banner.setImages(priList);
            bannerHolder.banner.start();
        }else if(holder instanceof Chess_Holder){
             Chess_Holder chess_holder = (Chess_Holder) holder;

            Pd_Prcy_Adapter adapter = new Pd_Prcy_Adapter(context, PdList);

            GridLayoutManager manager =new GridLayoutManager(context,5);
             chess_holder.xrecycler_view.setLayoutManager(manager);
            chess_holder.xrecycler_view.setAdapter(adapter);


        }else if(holder instanceof ZC_Holder){

            ZC_Holder zc_holder = (ZC_Holder) holder;

            GridLayoutManager manager = new GridLayoutManager(context,2);
            zc_holder.xrecycler_two.setLayoutManager(manager);

            ZC_Prcy_Adapter adapter = new ZC_Prcy_Adapter(context,TJList);

            zc_holder.xrecycler_two.setAdapter(adapter);

        }



    }


    public class GlideImageLoader extends ImageLoader {
        @Override
        public void displayImage(Context context, Object path, ImageView imageView) {
            //Glide 加载图片简单用法
            Glide.with(context).load(path).into(imageView);
        }
    }

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




    //轮播视图
    public static class Banner_Holder extends RecyclerView.ViewHolder{

        Banner banner;


        public Banner_Holder(View itemView) {
            super(itemView);
            banner = itemView.findViewById(R.id.img_banner);
        }
    }

    //列表布局
    public static class Chess_Holder extends RecyclerView.ViewHolder{
        XRecyclerView xrecycler_view;
        public Chess_Holder(View itemView) {
            super(itemView);
            xrecycler_view = itemView.findViewById(R.id.xrecycler_view);
        }
    }
    public static class ZC_Holder extends RecyclerView.ViewHolder{
        XRecyclerView xrecycler_two;
        public ZC_Holder(View itemView) {
            super(itemView);
            xrecycler_two =  itemView.findViewById(R.id.xrecycler_two);
        }
    }

}

你可能感兴趣的:(studo)