package com.example.xiaoyizhoukao3moni; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; import java.util.List; /** * Created by 秦帆 on 2018-05-26. */ //必须重写为自定义获取ViewHolder的方法 public class myada extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ //定义的参数 private final static int NORMAL = 1; private final static int IMAGES = 2; Context context; List<user.DataBeanX.DataBean> data; public myada(Context context, List<user.DataBeanX.DataBean> data) { this.data=data; this.context=context; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { //判断是那个参数 if (viewType==NORMAL){ View view = View.inflate(context,R.layout.lv,null); //获取自己定义的viewhoder01 zhuan zhuan = new zhuan(view); //返回这个holder return zhuan; }else { View view = View.inflate(context,R.layout.lv01,null); //获取自己定义的viewhoder02 zhuan01 zhuan01 = new zhuan01(view); //返回这个holder return zhuan01; } } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { //获取返回的参数 int itemViewType = getItemViewType(position); //获取数据的位置 user.DataBeanX.DataBean dataBean = data.get(position); //判断 if(itemViewType == NORMAL){ //holder 强转iewhoder01 zhuan holder1 = (zhuan) holder; holder1.tv.setText(dataBean.getTitle()); Glide.with(context).load("http://365jia.cn/uploads/"+dataBean.getPics().get(0)).into(holder1.image); }else if(itemViewType == IMAGES){ //holder 强转iewhoder02 zhuan01 holder2 = (zhuan01) holder; holder2.tv001.setText(dataBean.getTitle()); Glide.with(context).load("http://365jia.cn/uploads/"+dataBean.getPics().get(0)).into(holder2.imageView01); Glide.with(context).load("http://365jia.cn/uploads/"+dataBean.getPics().get(1)).into(holder2.imageView02); Glide.with(context).load("http://365jia.cn/uploads/"+dataBean.getPics().get(2)).into(holder2.imageView03); } } @Override public int getItemCount() { return data.size(); } @Override public int getItemViewType(int position) { //获取图片的数量 int size = data.get(position).getPics().size(); //判断 if(size==3){ return IMAGES; }else{ return NORMAL; } } //ViewHolder01 class zhuan extends RecyclerView.ViewHolder{ private final TextView tv; private final ImageView image; public zhuan(View itemView) { super(itemView); tv = itemView.findViewById(R.id.tv); image = itemView.findViewById(R.id.image01); } } //ViewHolder02 class zhuan01 extends RecyclerView.ViewHolder{ private final ImageView imageView01; private final ImageView imageView02; private final ImageView imageView03; private final TextView tv001; public zhuan01(View itemView) { super(itemView); tv001 = itemView.findViewById(R.id.tv01); imageView01 = itemView.findViewById(R.id.image001); imageView02 = itemView.findViewById(R.id.image002); imageView03 = itemView.findViewById(R.id.image003); } } }
RecyclerView的·多条目的应用
猜你喜欢
转载自blog.csdn.net/wumeng5211314/article/details/80472503
今日推荐
周排行