package com.bwei.day11_lianxi4.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.bwei.day11_lianxi4.R; import com.bwei.day11_lianxi4.bean.UserBean; import com.squareup.picasso.Picasso; import java.lang.annotation.ElementType; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.List; /** * 设置RecylerView.ViewHolder作为fan */ public class SubAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ Context context; ArrayList<UserBean.DataBean> beanList; public SubAdapter(Context context, ArrayList<UserBean.DataBean> beanList) { this.context = context; this.beanList = beanList; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { //6.根据解析数据,明确是具体哪种填充视图 View rootView; RecyclerView.ViewHolder holder; if (beanList.get(viewType).getThumbnail_pic_s03() == null && beanList.get(viewType).getThumbnail_pic_s02() == null ){ //2.第一种填充的视图布局 rootView = LayoutInflater.from(context).inflate(R.layout.one_layout, parent, false); holder = new ViewHolder1(rootView); }else if (beanList.get(viewType).getThumbnail_pic_s03() == null && beanList.get(viewType).getThumbnail_pic_s02() != null){ //4.第二种填充的视图布局 rootView = LayoutInflater.from(context).inflate(R.layout.two_layout, parent, false); holder = new ViewHolder2(rootView); }else { //5.第三种填充的视图布局 rootView = LayoutInflater.from(context).inflate(R.layout.three_layout, parent, false); holder = new ViewHolder3(rootView); } return holder; } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { //7.具体绑定哪个ViewHolder对象 if (holder instanceof ViewHolder1){ //8.通过Picasso加载解析图片 Picasso.get().load(beanList.get(position).getThumbnail_pic_s()).into(((ViewHolder1) holder).img1); }else if (holder instanceof ViewHolder2){ Picasso.get().load(beanList.get(position).getThumbnail_pic_s02()).into(((ViewHolder2) holder).img2); Picasso.get().load(beanList.get(position).getThumbnail_pic_s02()).into(((ViewHolder2) holder).img1_1); }else { Picasso.get().load(beanList.get(position).getThumbnail_pic_s()).into(((ViewHolder3) holder).img1_1_1); Picasso.get().load(beanList.get(position).getThumbnail_pic_s02()).into(((ViewHolder3) holder).img2_1_1); Picasso.get().load(beanList.get(position).getThumbnail_pic_s03()).into(((ViewHolder3) holder).img3_1_1); } } @Override public int getItemCount() { return beanList.size(); } //1. class ViewHolder1 extends RecyclerView.ViewHolder{ private ImageView img1; public ViewHolder1(View itemView) { super(itemView); img1 = itemView.findViewById(R.id.img1); } } //2. class ViewHolder2 extends RecyclerView.ViewHolder{ private final ImageView img2; private final ImageView img1_1; public ViewHolder2(View itemView) { super(itemView); img1_1 = itemView.findViewById(R.id.img1_1); img2 = itemView.findViewById(R.id.img2); } } //3 class ViewHolder3 extends RecyclerView.ViewHolder{ private final ImageView img1_1_1; private final ImageView img2_1_1; private final ImageView img3_1_1; public ViewHolder3(View itemView) { super(itemView); img1_1_1 = itemView.findViewById(R.id.img1_1_1); img2_1_1 = itemView.findViewById(R.id.img2_1_1); img3_1_1 = itemView.findViewById(R.id.img3_1_1); } } }
多条目适配器
最新推荐文章于 2021-02-22 16:18:24 发布