public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private List<MyBean.InfoListBean> list; private Context context; public MyAdapter(List<MyBean.InfoListBean> list, Context context) { this.list = list; this.context = context; } //重要的方法返回viewtype值,把position赋值给viewtype @Override public int getItemViewType(int position) { return list.get(position).getType(); } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { RecyclerView.ViewHolder holder = null; View view = null; switch (viewType) { case 0: view = LayoutInflater.from(context).inflate(R.layout.two_item, parent, false); holder = new Two(view); break; case 1: view = LayoutInflater.from(context).inflate(R.layout.one_item, parent, false); holder = new One(view); break; } view.setOnClickListener(this); return holder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { int type = list.get(position).getType(); switch (type) { case 0: Two holderTwo = (Two) holder; ((Two) holder).name2.setText(list.get(position).getGoods_name()); ((Two) holder).tv2.setText(list.get(position).getIntegral()); Picasso.with(context).load(list.get(position).getImg()).into(((Two) holder).iv2); break; case 1: One holderOne = (One) holder; ((One) holder).name1.setText(list.get(position).getGoods_name()); ((One) holder).tv1.setText(list.get(position).getLikes()); Picasso.with(context).load(list.get(position).getImg()).into(((One) holder).iv1); break; } } @Override public int getItemCount() { return list.size(); } public class One extends RecyclerView.ViewHolder { private final ImageView iv1; private final TextView tv1; private final TextView name1; public One(View itemView) { super(itemView); iv1 = (ImageView) itemView.findViewById(R.id.iv1); tv1 = (TextView) itemView.findViewById(R.id.tv1); name1 = (TextView) itemView.findViewById(R.id.name1); } } public class Two extends RecyclerView.ViewHolder { private final TextView tv2; private final ImageView iv2; private final TextView name2; public Two(View itemView) { super(itemView); tv2 = (TextView) itemView.findViewById(R.id.tv2); iv2 = (ImageView) itemView.findViewById(R.id.iv2); name2 = (TextView) itemView.findViewById(R.id.name2); } } }
recycleview多布局,带type值。
最新推荐文章于 2023-03-04 18:51:44 发布