RecyclerView多条目模版

来源:互联网 发布:网络语言tnt是什么意思 编辑:程序博客网 时间:2024/05/29 16:36
注意继承的泛型
public class Adpte extends RecyclerView.Adapter<RecyclerView.ViewHolder>{    Context context;    List<Bean> list;    public static final int YOU = 0;    public static final int MEI = 1;    public Adpte(Context context, List<Bean> list) {        this.context = context;        this.list = list;    }    @Override    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        if(viewType==YOU){            View v1 = View.inflate(context,R.layout.you,null);            ViewHolderYou viewHolderYou = new ViewHolderYou(v1);            return viewHolderYou;        }else{            View v2 = View.inflate(context,R.layout.mei,null);            ViewHolderMei viewHolderMei = new ViewHolderMei(v2);            return viewHolderMei;        }    }    @Override    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {        Bean bean = list.get(position);        if(holder instanceof ViewHolderYou){            ViewHolderYou vy = (ViewHolderYou) holder;                vy.YouImga.setImageResource(bean.getImg());                vy.YouTv.setText(bean.getP());        }else if(holder instanceof ViewHolderMei){            ViewHolderMei vm = (ViewHolderMei) holder;            vm.MeiTv.setText(bean.getP());        }    }    @Override    public int getItemCount() {        if(list==null){            return 0;        }        return list.size();    }    @Override    public int getItemViewType(int position) {        if(position%2==0){            return YOU;        }        return MEI;    }    class ViewHolderYou extends RecyclerView.ViewHolder{        private ImageView YouImga;        private TextView YouTv;        public ViewHolderYou(View itemView) {            super(itemView);            YouImga = itemView.findViewById(R.id.img_you);            YouTv = itemView.findViewById(R.id.tv_you);        }    }    class ViewHolderMei extends RecyclerView.ViewHolder{        private TextView MeiTv;        public ViewHolderMei(View itemView) {            super(itemView);            MeiTv = itemView.findViewById(R.id.tv_mei);        }    }}