adapter中的方法
@Override
public int getViewTypeCount() {
return 3;
}
@Override
public int getItemViewType(int position) {
int type = 0;
if (list.get(position).getThumbnail_pic_s02() != null && list.get(position).getThumbnail_pic_s03() == null) {
type = 1;
} else if (list.get(position).getThumbnail_pic_s03() != null) {
type = 2;
}
return type;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
int i = getItemViewType(position);
switch (i) {
case 0:
ViewHolder2 holder2 = null;
if (convertView == null) {
convertView = View.inflate(context, R.layout.item2, null);
holder2 = new ViewHolder2();
holder2.name = convertView.findViewById(R.id.name);
holder2.image1 = convertView.findViewById(R.id.image1);
convertView.setTag(holder2);
} else {
holder2 = (ViewHolder2) convertView.getTag();
}
holder2.name.setText(list.get(position).getAuthor_name());
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(), holder2.image1);
break;
case 1:
ViewHolder1 holder1 = null;
if (convertView == null) {
convertView = View.inflate(context, R.layout.item1, null);
holder1 = new ViewHolder1();
holder1.name = convertView.findViewById(R.id.name);
holder1.image1 = convertView.findViewById(R.id.image1);
holder1.image2 = convertView.findViewById(R.id.image2);
convertView.setTag(holder1);
} else {
holder1 = (ViewHolder1) convertView.getTag();
}
holder1.name.setText(list.get(position).getAuthor_name());
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(), holder1.image1);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s02(), holder1.image2);
break;
case 2:
ViewHolder holder = null;
if (convertView == null) {
convertView = View.inflate(context, R.layout.item, null);
holder = new ViewHolder();
holder.name = convertView.findViewById(R.id.name);
holder.image1 = convertView.findViewById(R.id.image1);
holder.image2 = convertView.findViewById(R.id.image2);
holder.image3 = convertView.findViewById(R.id.image3);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.name.setText(list.get(position).getAuthor_name());
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(), holder.image1);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s02(), holder.image2);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s03(), holder.image3);
break;
}
return convertView;
}
class ViewHolder {
TextView name;
ImageView image1;
ImageView image2;
ImageView image3;
}
class ViewHolder1 {
TextView name;
ImageView image1;
ImageView image2;
}
class ViewHolder2 {
TextView name;
ImageView image1;
}