public class MyAdapter extends BaseAdapter {
private Context context;
private NewsInfo newsInfo;
private final int TYPE_1 = 0;
private final int TYPE_2 = 1;
private final int TYPE_3 = 2;
private final int TYPE_4 = 3;
public MyAdapter(Context context, NewsInfo newsInfo) {
this.context = context;
this.newsInfo = newsInfo;
}
//获取类型
@Override
public int getItemViewType(int position) {
int p = position;
if (p == 0) {
return TYPE_1;
} else if (p == 1 || p == 2 || p == 3 || p == 4 || p == 5 || p == 6 || p == 7 || p == 8 || p == 9)
return TYPE_2;
else if (p == 10 || p == 11 || p == 12 || p == 13)
return TYPE_3;
else
return TYPE_4;
}
//类型的个数
@Override
public int getViewTypeCount() {
return 4;
}
@Override
public int getCount() {
return 15;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder1 viewHolder1 = null;
ViewHolder2 viewHolder2 = null;
ViewHolder3 viewHolder3 = null;
ViewHolder4 viewHolder4 = null;
int type = getItemViewType(position);
if (convertView == null) {
switch (type) {
case TYPE_1:
convertView = View.inflate(context, R.layout.item1, null);
viewHolder1 = new ViewHolder1();
viewHolder1.imageView1 = (ImageView) convertView.findViewById(R.id.iv1);
convertView.setTag(viewHolder1);
break;
case TYPE_2:
convertView = View.inflate(context, R.layout.item2, null);
viewHolder2 = new ViewHolder2();
viewHolder2.textView2 = (TextView) convertView.findViewById(R.id.tv2);
viewHolder2.imageView2 = (ImageView) convertView.findViewById(R.id.iv2);
convertView.setTag(viewHolder2);
break;
case TYPE_3:
convertView = View.inflate(context, R.layout.item3, null);
viewHolder3 = new ViewHolder3();
viewHolder3.textView3 = (TextView) convertView.findViewById(R.id.tv3);
viewHolder3.imageView3 = (ImageView) convertView.findViewById(R.id.iv3);
convertView.setTag(viewHolder3);
break;
case TYPE_4:
convertView = View.inflate(context, R.layout.item4, null);
viewHolder4 = new ViewHolder4();
viewHolder4.textView41 = (TextView) convertView.findViewById(R.id.tv41);
viewHolder4.textView42 = (TextView) convertView.findViewById(R.id.tv42);
convertView.setTag(viewHolder4);
break;
}
} else {
switch (type) {
case TYPE_1:
viewHolder1 = (ViewHolder1) convertView.getTag();
break;
case TYPE_2:
viewHolder2 = (ViewHolder2) convertView.getTag();
break;
case TYPE_3:
viewHolder3 = (ViewHolder3) convertView.getTag();
break;
case TYPE_4:
viewHolder4 = (ViewHolder4) convertView.getTag();
break;
}
}
switch (type) {
case TYPE_1:
if (position == 0) {
ImageLoader.getInstance().displayImage(newsInfo.data.get(0).img.get(0).carouselUrl, viewHolder1.imageView1, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
}
break;
case TYPE_2:
if (position == 1) {
viewHolder2.textView2.setText(newsInfo.data.get(1).body.get(0).get(0).categoryTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(1).body.get(0).get(0).url, viewHolder2.imageView2, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
} else if (position == 2) {
viewHolder2.textView2.setText(newsInfo.data.get(1).body.get(0).get(1).categoryTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(1).body.get(0).get(1).url, viewHolder2.imageView2, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
} else if (position == 3) {
viewHolder2.textView2.setText(newsInfo.data.get(1).body.get(0).get(2).categoryTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(1).body.get(0).get(2).url, viewHolder2.imageView2, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
} else if (position == 4) {
viewHolder2.textView2.setText(newsInfo.data.get(1).body.get(1).get(0).categoryTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(1).body.get(1).get(0).url, viewHolder2.imageView2, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
} else if (position == 5) {
viewHolder2.textView2.setText(newsInfo.data.get(1).body.get(1).get(1).categoryTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(1).body.get(1).get(1).url, viewHolder2.imageView2, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
} else if (position == 6) {
viewHolder2.textView2.setText(newsInfo.data.get(1).body.get(1).get(2).categoryTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(1).body.get(1).get(2).url, viewHolder2.imageView2, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
} else if (position == 7) {
viewHolder2.textView2.setText(newsInfo.data.get(1).body.get(2).get(0).categoryTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(1).body.get(2).get(0).url, viewHolder2.imageView2, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
} else if (position == 8) {
viewHolder2.textView2.setText(newsInfo.data.get(1).body.get(2).get(1).categoryTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(1).body.get(2).get(1).url, viewHolder2.imageView2, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
} else if (position == 9) {
viewHolder2.textView2.setText(newsInfo.data.get(1).body.get(2).get(2).categoryTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(1).body.get(2).get(2).url, viewHolder2.imageView2, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
}
break;
case TYPE_3:
if (position == 10) {
viewHolder3.textView3.setText(newsInfo.data.get(2).notice.get(0).noticeTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(2).notice.get(0).picture, viewHolder3.imageView3, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
} else if (position == 11) {
viewHolder3.textView3.setText(newsInfo.data.get(2).notice.get(1).noticeTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(2).notice.get(1).picture, viewHolder3.imageView3, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
} else if (position == 12) {
viewHolder3.textView3.setText(newsInfo.data.get(2).notice.get(2).noticeTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(2).notice.get(2).picture, viewHolder3.imageView3, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
} else if (position == 13) {
viewHolder3.textView3.setText(newsInfo.data.get(2).notice.get(3).noticeTitle);
ImageLoader.getInstance().displayImage(newsInfo.data.get(2).notice.get(3).picture, viewHolder3.imageView3, ImageLoaderOptionsUtils.getOptions(R.mipmap.ic_launcher));
}
break;
case TYPE_4:
if (position == 14) {
viewHolder4.textView41.setText(newsInfo.data.get(3).codeVersion.versionId + "");
viewHolder4.textView42.setText(newsInfo.data.get(3).codeVersion.version);
}
break;
}
return convertView;
}
private class ViewHolder1 {
private ImageView imageView1;
}
private class ViewHolder2 {
private TextView textView2;
private ImageView imageView2;
}
private class ViewHolder3 {
private TextView textView3;
private ImageView imageView3;
}
private class ViewHolder4 {
private TextView textView41;
private TextView textView42;
}
}