public class ArticleAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ private Context context; private List<TopicBean> mDatas; public static final int TYPE_IMAGE = 1111; public static final int TYPE_CONTENT = 2222; public static final int TYPE_MULTY = 3333; public ArticleAdapter(Context context, List<TopicBean> mDatas) { this.context = context; this.mDatas = mDatas; } @Override public int getItemViewType(int position) { if (position == 0){ return TYPE_MULTY; }else if (position == 1){ return TYPE_IMAGE; }else { return TYPE_CONTENT; } } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { switch (viewType){ case TYPE_MULTY: return new MultyViewHolder(LayoutInflater.from(context).inflate(R.layout.item_multy,null)); case TYPE_IMAGE: return new ImageViewHolder(LayoutInflater.from(context).inflate(R.layout.item_image,null)); case TYPE_CONTENT: return new ContentViewHolder(LayoutInflater.from(context).inflate(R.layout.item_introduction,null)); } return null; } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { if (holder instanceof MultyViewHolder){ Glide.with(context).load(R.mipmap.ic_launcher_round).into(((MultyViewHolder) holder).multyImage); // ((MultyViewHolder) holder).multyTv.setText(mDatas.get(position).getTotal()); }else if (holder instanceof ImageViewHolder){ Glide.with(context).load(R.mipmap.ic_launcher_round).into(((ImageViewHolder) holder).mImage); }else if (holder instanceof ContentViewHolder){ // ((ContentViewHolder) holder).mTextView.setText(mDatas.get(position).getList().get(position).getAbstractX()); } } @Override public int getItemCount() { return mDatas.size(); } class MultyViewHolder extends RecyclerView.ViewHolder{ ImageView multyImage; TextView multyTv; public MultyViewHolder(View itemView) { super(itemView); multyImage = itemView.findViewById(R.id.item_multy_imageview); multyTv = itemView.findViewById(R.id.item_multy_textview); } } class ImageViewHolder extends RecyclerView.ViewHolder{ ImageView mImage; public ImageViewHolder(View itemView) { super(itemView); mImage = itemView.findViewById(R.id.item_imageview); } } class ContentViewHolder extends RecyclerView.ViewHolder{ TextView mTextView; public ContentViewHolder(View itemView) { super(itemView); mTextView = itemView.findViewById(R.id.item_introduction); } } }
RecycleView加载多种item布局
最新推荐文章于 2024-04-11 08:10:33 发布