多条目适配器

适配器

           public class LinearAdapter extends RecyclerView.Adapter<LinearAdapter.VH> {
	
	    private ClickListener clickListener;
	    private Context context;
	
	    public LinearAdapter(Context context, List<NewsBean.ResultBean.DataBean> mDatas) {
	        this.context = context;
	        this.mDatas = mDatas;
	    }
	
	    //② 创建ViewHolder
	    public static class VH extends RecyclerView.ViewHolder {
	        public final TextView title_1;
	        public final TextView title_3;
	        public final ImageView imageView_1;
	        public final ImageView imageView3_1;
	        public final ImageView imageView3_2;
	        public final ImageView imageView3_3;
	
	        public VH(View v) {
	            super(v);
	            title_1 = (TextView) v.findViewById(R.id.title1);
	            title_3 = (TextView) v.findViewById(R.id.title3);
	            imageView_1 = (ImageView) v.findViewById(R.id.image1);
	            imageView3_1 = (ImageView) v.findViewById(R.id.image3_1);
	            imageView3_2 = (ImageView) v.findViewById(R.id.image3_2);
	            imageView3_3 = (ImageView) v.findViewById(R.id.image3_3);
	        }
	    }
	
	    private List<NewsBean.ResultBean.DataBean> mDatas;
	
	    public List<NewsBean.ResultBean.DataBean> getmDatas() {
	        return mDatas;
	    }
	
	    public void setmDatas(List<NewsBean.ResultBean.DataBean> mDatas) {
	        this.mDatas = mDatas;
	    }
	
	    public NewsBean.ResultBean.DataBean getBean(int position) {
	        NewsBean.ResultBean.DataBean bean = mDatas.get(position);
	        return bean;
	    }
	
	    //③ 在Adapter中实现3个方法
	    @Override
	    public void onBindViewHolder(VH holder, final int position) {
	        /*holder.title.setText(mDatas.get(position).getTitle());
	        Glide.with(MyApp.getContext()).load(mDatas.get(position).getUrl()).into(holder.imageView);
	        holder.itemView.setOnClickListener(new View.OnClickListener() {
	            @Override
	            public void onClick(View v) {
	                //item 点击事件
	            }
	        });*/
	        switch (holder.getItemViewType()) {
	            case 0:
	                holder.title_1.setText(mDatas.get(position).getTitle());
	                Glide.with(MyApp.getContext()).load(mDatas.get(position).getThumbnail_pic_s()).into(holder.imageView_1);
	                holder.itemView.setOnClickListener(new View.OnClickListener() {
	                    @Override
	                    public void onClick(View v) {
	                        //item 点击事件
	                        clickListener.onItmeClickListener(v, position);
	
	
	                    }
	                });
	                break;
	            case 1:
	                holder.title_3.setText(mDatas.get(position).getTitle());
	                Glide.with(MyApp.getContext()).load(mDatas.get(position).getThumbnail_pic_s()).into(holder.imageView3_1);
	                Glide.with(MyApp.getContext()).load(mDatas.get(position).getThumbnail_pic_s02()).into(holder.imageView3_2);
	                Glide.with(MyApp.getContext()).load(mDatas.get(position).getThumbnail_pic_s03()).into(holder.imageView3_3);
	                holder.itemView.setOnClickListener(new View.OnClickListener() {
	                    @Override
	                    public void onClick(View v) {
	                        //item 点击事件
	                        clickListener.onItmeClickListener(v, position);
	
	
	                    }
	                });
	                break;
	        }
	    }
	
	    @Override
	    public int getItemCount() {
	        return mDatas.size();
	    }
	
	    public void setClickListener(ClickListener clickListener) {
	        this.clickListener = clickListener;
	    }
	
	    @Override
	    public VH onCreateViewHolder(ViewGroup parent, int viewType) {
	        //LayoutInflater.from指定写法
	        if (viewType == 0) {
	            View o = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyler_layout_item1, parent, false);
	            return new VH(o);
	        } else if (viewType == 1) {
	            View t = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyler_layout_item3, parent, false);
	            return new VH(t);
	        }
	
	        return null;
	    }
	
	    @Override
	    public int getItemViewType(int position) {
	
	        String thumbnail_pic_s = mDatas.get(position).getThumbnail_pic_s();
	        String thumbnail_pic_s02 = mDatas.get(position).getThumbnail_pic_s02();
	        String thumbnail_pic_s03 = mDatas.get(position).getThumbnail_pic_s03();
	        if (TextUtils.isEmpty(thumbnail_pic_s02) && TextUtils.isEmpty(thumbnail_pic_s03)) {
	            return 0;
	        } else {
	            return 1;
	        }
	
	    }
	
	    public interface ClickListener {
	        void onItmeClickListener(View view, int position);
	    }
	
	    public void setOnItmeClickListener(ClickListener clickListener) {
	        this.clickListener = clickListener;
	    }
	
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值