public class MyBase extends BaseAdapter { private List<MyBean.ResultBean.DataBean> list; private Context context; public MyBase(List<MyBean.ResultBean.DataBean> list, Context context) { this.list = list; this.context = context; } private final int ONE = 0; private final int TWO = 1; private final int THREE = 2; @Override public int getViewTypeCount() { return 3; } @Override public int getItemViewType(int position) { String thumbnail_pic_s = list.get(position).getThumbnail_pic_s(); String thumbnail_pic_s02 = list.get(position).getThumbnail_pic_s02(); String thumbnail_pic_s03 = list.get(position).getThumbnail_pic_s03(); if (thumbnail_pic_s != null && thumbnail_pic_s02 == null && thumbnail_pic_s03 == null) { return ONE; } else if (thumbnail_pic_s != null && thumbnail_pic_s02 != null && thumbnail_pic_s03 == null) { return TWO; } else if (thumbnail_pic_s != null && thumbnail_pic_s02 != null && thumbnail_pic_s03 != null) { return THREE; } else { return ONE; } } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { //得到getItemViewType的返回值进行判断 int type = getItemViewType(position); if(type == ONE){ OneViewHolder oneViewHolder; if(convertView == null){ convertView = View.inflate(context, R.layout.item_one_image,null); oneViewHolder = new OneViewHolder(); oneViewHolder.textView = convertView.findViewById(R.id.tv_title); oneViewHolder.imageView = convertView.findViewById(R.id.img); convertView.setTag(oneViewHolder); }else{ oneViewHolder = (OneViewHolder) convertView.getTag(); } oneViewHolder.textView.setText(list.get(position).getTitle()); ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),oneViewHolder.imageView, MyApp.getOptions()); return convertView; }else if(type == TWO){ TwoViewHolder twoViewHolder; if(convertView == null){ convertView = View.inflate(context,R.layout.item_two_image,null); twoViewHolder = new TwoViewHolder(); twoViewHolder.textView = convertView.findViewById(R.id.tv_title); twoViewHolder.imageView1 = convertView.findViewById(R.id.img); twoViewHolder.imageView2 = convertView.findViewById(R.id.img1); convertView.setTag(twoViewHolder); }else{ twoViewHolder = (TwoViewHolder) convertView.getTag(); } twoViewHolder.textView.setText(list.get(position).getTitle()); //获得第一张图片 ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),twoViewHolder.imageView1,MyApp.getOptions()); //获得第二张图片 ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s02(),twoViewHolder.imageView2,MyApp.getOptions()); return convertView; }else if(type == THREE){ ThreeViewHolder threeViewHolder; if(convertView == null){ convertView = View.inflate(context,R.layout.item_three_image,null); threeViewHolder = new ThreeViewHolder(); threeViewHolder.textView = convertView.findViewById(R.id.tv_title); threeViewHolder.imageView1 = convertView.findViewById(R.id.img); threeViewHolder.imageView2 = convertView.findViewById(R.id.img1); threeViewHolder.imageView3 = convertView.findViewById(R.id.img2); convertView.setTag(threeViewHolder); }else{ threeViewHolder = (ThreeViewHolder) convertView.getTag(); } threeViewHolder.textView.setText(list.get(position).getTitle()); //第一张图片 ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),threeViewHolder.imageView1, MyApp.getOptions()); //第二张图片 ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s02(),threeViewHolder.imageView2,MyApp.getOptions()); //第三张图片 ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s03(),threeViewHolder.imageView3,MyApp.getOptions()); return convertView; }else{ return null; } } class OneViewHolder{ TextView textView; ImageView imageView; } class TwoViewHolder{ TextView textView; ImageView imageView1,imageView2; } class ThreeViewHolder{ TextView textView; ImageView imageView1,imageView2,imageView3; } }
Base类
最新推荐文章于 2024-03-29 18:23:46 发布