RecyclerView多条目加载


public class FenleiRecle extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements XBanner.XBannerAdapter {
    private boolean flag;
    private Context context;
    private List<Beantwo.CategoryListBean> arr;
    ArrayList<String> bannerarr;

    public FenleiRecle(Context context, List<Beantwo.CategoryListBean> arr, ArrayList<String> bannerarr) {
        this.context = context;
        this.arr = arr;
        this.bannerarr = bannerarr;
    }

    @Override
    public int getItemViewType(int position) {
        if (position==0) {
            return 0;
        } else {
            return 1;
        }
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        if (viewType == 1) {
            View view = View.inflate(context, R.layout.resyvertical, null);
            MyVIewHolder myVIewHolder = new MyVIewHolder(view);
            return myVIewHolder;
        }else{
            View inflate = View.inflate(context, R.layout.videotoubuju, null);
            ViewHolder1 viewHolder1 = new ViewHolder1(inflate);
            return viewHolder1;
        }
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        if (holder instanceof MyVIewHolder){
//实现每一条横穿横向的数据展示
            if(arr.get(position).getDesc().equals("热门音乐")){
                ((MyVIewHolder) holder).twofenlei.setText("热门音乐");
                Glide.with(context).load(R.drawable.c).into(((MyVIewHolder) holder).touxiang);
                ((MyVIewHolder) holder).twoname.setText(arr.get(position).getMusic_info().getTitle());
                ((MyVIewHolder) holder).twonum.setText(arr.get(position).getMusic_info().getUser_count()+"");
            }else{
                Glide.with(context).load(R.drawable.d).into(((MyVIewHolder) holder).touxiang);
                ((MyVIewHolder) holder).twofenlei.setText("热门挑战");
                ((MyVIewHolder) holder).twoname.setText(arr.get(position).getChallenge_info().getCha_name());
                ((MyVIewHolder) holder).twonum.setText(arr.get(position).getChallenge_info().getUser_count()+"");
            }

            //实现每一条横穿横向的数据展示
            List<Beantwo.CategoryListBean.AwemeListBean> aweme_list = arr.get(position).getAweme_list();
            LinearLayoutManager manager = new LinearLayoutManager(context,LinearLayoutManager.HORIZONTAL,false);
            ((MyVIewHolder) holder).onerecy.setLayoutManager(manager);
            MyAdapter myAdapter = new MyAdapter(context, aweme_list);
            ((MyVIewHolder) holder).onerecy.setAdapter(myAdapter);
        }else if(holder instanceof ViewHolder1){
            if (!flag) {
                ((ViewHolder1) holder).mBannerNet.setData(bannerarr, null);
                // 设置XBanner的页面切换特效
                ((ViewHolder1) holder).mBannerNet.setPageTransformer(Transformer.Default);
                // 设置XBanner页面切换的时间,即动画时长
                ((ViewHolder1) holder).mBannerNet.setPageChangeDuration(2000);
                ((ViewHolder1) holder).mBannerNet.setmAdapter(this);
                flag = true;
            }else{

            }
        }
//        Beantwo.CategoryListBean.AwemeListBean.VideoBean video = arr.get(position).getAweme_list().get(position).getVideo();
//        if(video!=null){
//            String url = video.getDownload_addr().getUrl_list().get(0);
//            Log.e("chen", "twoonSuccesse:哈哈 "+url );
//            String s = video.getCover().getUrl_list().get(0);
//
//            //点击视频实现的文字
//            boolean setUp = holder.shipin.setUp(url, JCVideoPlayer.SCREEN_LAYOUT_LIST, "抖起来");
//            if (setUp) {
//                //视频的起始图片
//                Glide.with(context).load(s).into(holder.shipin.thumbImageView);
//            }
//        }
    }

    @Override
    public int getItemCount() {
        return arr.size();
    }

    //加载banner图片的适配器
    @Override
    public void loadBanner(XBanner banner, View view, int position) {
        Glide.with(context).load(bannerarr.get(position)).into((ImageView) view);
    }

    class MyVIewHolder extends RecyclerView.ViewHolder{
        private final RecyclerView onerecy;
        private final SimpleDraweeView touxiang;
        private final TextView twoname;
        private final TextView twonum;
        private final TextView twofenlei;

        public MyVIewHolder(View itemView) {
            super(itemView);
            onerecy = itemView.findViewById(R.id.onerecy);
            touxiang = itemView.findViewById(R.id.touxiang);
            twoname = itemView.findViewById(R.id.twoname);
            twonum = itemView.findViewById(R.id.twonum);
            twofenlei = itemView.findViewById(R.id.twofenlei);

        }
    }

    class ViewHolder1 extends RecyclerView.ViewHolder {

        private final XBanner mBannerNet;

        public ViewHolder1(View itemView) {
            super(itemView);
            mBannerNet = itemView.findViewById(R.id.banner_1);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值