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);
}
}
}