public class NewsAdapter extends BaseAdapter {
private static final int TYPE_ONE_PIC = 0;
private static final int TYPE_TWO_PIC = 1;
private static final int TYPE_THREE_PIC = 2;
private Context context;
private List<News.DataBean> list;
public NewsAdapter(Context context, List<News.DataBean> list) {
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return list.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public int getViewTypeCount() {
return 3;
}
@Override
public int getItemViewType(int position) {
News.DataBean bean = list.get(position);
if (!TextUtils.isEmpty(bean.getThumbnail03())) {
return TYPE_THREE_PIC;
} else if (!TextUtils.isEmpty(bean.getThumbnail02())) {
return TYPE_TWO_PIC;
} else {
return TYPE_ONE_PIC;
}
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder1 holder1 = null;
ViewHolder2 holder2 = null;
ViewHolder3 holder3 = null;
int type = getItemViewType(i);
switch (type) {
case TYPE_ONE_PIC:
if (view == null) {
holder1 = new ViewHolder1();
view = View.inflate(context, R.layout.item_news_01, null);
holder1.imgLogo1 = view.findViewById(R.id.img_logo1);
holder1.txtTitle = view.findViewById(R.id.txt_title);
holder1.txtAuthor = view.findViewById(R.id.txt_author);
holder1.txtTime = view.findViewById(R.id.txt_time);
view.setTag(holder1);
} else {
holder1 = (ViewHolder1) view.getTag();
}
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail01(), holder1.imgLogo1);
holder1.txtTitle.setText(list.get(i).getTitle());
holder1.txtAuthor.setText(list.get(i).getAuthorName());
holder1.txtTime.setText(list.get(i).getDate());
break;
case TYPE_TWO_PIC:
if (view == null) {
holder2 = new ViewHolder2();
view = View.inflate(context, R.layout.item_news_02, null);
holder2.imgLogo1 = view.findViewById(R.id.img_logo1);
holder2.imgLogo2 = view.findViewById(R.id.img_logo2);
holder2.txtTitle = view.findViewById(R.id.txt_title);
holder2.txtAuthor = view.findViewById(R.id.txt_author);
holder2.txtTime = view.findViewById(R.id.txt_time);
view.setTag(holder2);
} else {
holder2 = (ViewHolder2) view.getTag();
}
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail01(), holder2.imgLogo1);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail02(), holder2.imgLogo2);
holder2.txtTitle.setText(list.get(i).getTitle());
holder2.txtAuthor.setText(list.get(i).getAuthorName());
holder2.txtTime.setText(list.get(i).getDate());
break;
case TYPE_THREE_PIC:
if (view == null) {
holder3 = new ViewHolder3();
view = View.inflate(context, R.layout.item_news_03, null);
holder3.imgLogo1 = view.findViewById(R.id.img_logo1);
holder3.imgLogo2 = view.findViewById(R.id.img_logo2);
holder3.imgLogo3 = view.findViewById(R.id.img_logo3);
holder3.txtTitle = view.findViewById(R.id.txt_title);
holder3.txtAuthor = view.findViewById(R.id.txt_author);
holder3.txtTime = view.findViewById(R.id.txt_time);
view.setTag(holder3);
} else {
holder3 = (ViewHolder3) view.getTag();
}
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail01(), holder3.imgLogo1);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail02(), holder3.imgLogo2);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail03(), holder3.imgLogo3);
holder3.txtTitle.setText(list.get(i).getTitle());
holder3.txtAuthor.setText(list.get(i).getAuthorName());
holder3.txtTime.setText(list.get(i).getDate());
break;
}
return view;
}
class ViewHolder1 {
ImageView imgLogo1;
TextView txtTitle;
TextView txtAuthor;
TextView txtTime;
}
class ViewHolder2 {
TextView txtTitle;
TextView txtAuthor;
TextView txtTime;
ImageView imgLogo1;
ImageView imgLogo2;
}
class ViewHolder3 {
TextView txtTitle;
TextView txtAuthor;
TextView txtTime;
ImageView imgLogo1;
ImageView imgLogo2;
ImageView imgLogo3;
}