RecyclerView多条目

public class NewsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
public static final int TYPE_ONE = 0;
public static final int TYPE_TWO = 1;
public static final int TYPE_THREE = 2;

private List<News.DataBean> mList;
private Context mContext;

public NewsAdapter(List<News.DataBean> list, Context context) {
    mList = list;
    mContext = context;
}

@Override
public int getItemViewType(int position) {
    News.DataBean dataBean = mList.get(position);
    if (!TextUtils.isEmpty(dataBean.getThumbnail_pic_s03())){
        return TYPE_THREE;
    }else if (!TextUtils.isEmpty(dataBean.getThumbnail_pic_s02())){
        return TYPE_TWO;
    }else {
        return TYPE_ONE;
    }
}

@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    if (viewType == TYPE_ONE){
       // View view = View.inflate(mContext, R.layout.item1_layout,null);
        View view = LayoutInflater.from(mContext).inflate(R.layout.item1_layout, null, false);
        OneViewHolder holder1 = new OneViewHolder(view);
        return holder1;
    }
    else if (viewType == TYPE_TWO){
       // View view = View.inflate(mContext, R.layout.item2_layout,null);
        View view = LayoutInflater.from(mContext).inflate(R.layout.item2_layout, null, false);
        TwoViewHolder holder2 = new TwoViewHolder(view);
        return holder2;
    }
    else{
       // View view = View.inflate(mContext, R.layout.item3_layout,null);
        View view = LayoutInflater.from(mContext).inflate(R.layout.item3_layout, null, false);
        ThreeViewHolder holder3 = new ThreeViewHolder(view);
        return holder3;
    }
}

@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
    int type = getItemViewType(position);
    switch (type){
        case TYPE_ONE:
            OneViewHolder holder1 = (OneViewHolder) holder;
            Uri uri = Uri.parse(mList.get(position).getThumbnail_pic_s());
            holder1.img.setImageURI(uri);
            holder1.name.setText(mList.get(position).getTitle());
            break;
        case TYPE_TWO:
            TwoViewHolder holder2 = (TwoViewHolder) holder;
            Uri uri1 = Uri.parse(mList.get(position).getThumbnail_pic_s());
            holder2.img.setImageURI(uri1);
            Uri uri2 = Uri.parse(mList.get(position).getThumbnail_pic_s02());
            holder2.img2.setImageURI(uri2);
            holder2.name.setText(mList.get(position).getTitle());
            break;
        case TYPE_THREE:
            ThreeViewHolder holder3 = (ThreeViewHolder) holder;
            Uri uri3 = Uri.parse(mList.get(position).getThumbnail_pic_s());
            holder3.img.setImageURI(uri3);
            Uri uri4 = Uri.parse(mList.get(position).getThumbnail_pic_s02());
            holder3.img1.setImageURI(uri4);
            Uri uri5 = Uri.parse(mList.get(position).getThumbnail_pic_s03());
            holder3.img2.setImageURI(uri5);
            holder3.name.setText(mList.get(position).getTitle());
            break;
    }
}

@Override
public int getItemCount() {
    return mList.size();
}


private class OneViewHolder extends RecyclerView.ViewHolder{
    SimpleDraweeView img;
    TextView name;
    public OneViewHolder(View itemView) {
        super(itemView);
        img = itemView.findViewById(R.id.my_image_view);
        name = itemView.findViewById(R.id.my_tv_name);
    }
}

private class TwoViewHolder extends RecyclerView.ViewHolder{
    SimpleDraweeView img;
    SimpleDraweeView img2;
    TextView name;
    public TwoViewHolder(View itemView) {
        super(itemView);
        img = itemView.findViewById(R.id.my_image_view);
        img2 = itemView.findViewById(R.id.my_image_view1);
        name = itemView.findViewById(R.id.my_tv_name);
    }
}

private class ThreeViewHolder extends RecyclerView.ViewHolder{
    SimpleDraweeView img;
    SimpleDraweeView img1;
    SimpleDraweeView img2;
    TextView name;
    public ThreeViewHolder(View itemView) {
        super(itemView);
        img = itemView.findViewById(R.id.my_image_view);
        img1 = itemView.findViewById(R.id.my_image_view1);
        img2 = itemView.findViewById(R.id.my_image_view2);
        name= itemView.findViewById(R.id.my_tv_name);
    }
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值