private final int TYPE_0 = 0; private final int TYPE_1 = 1; private final int TYPE_2 = 2; private final int TYPE_3 = 3;
public int getItemViewType(int position) { int p = position; if (p == 0) { return TYPE_0; } else if (p >= 1 && p <= 9) return TYPE_1; else if (p >= 10 && p <= 13) return TYPE_2; else return TYPE_3; } //展示的布局个数 @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) { ViewHolder holder = null; ViewHolder1 holder1 = null; ViewHolder2 holder2 = null; ViewHolder3 holder3 = null; int type = getItemViewType(position); if (convertView == null) { switch (type) { case TYPE_0: convertView = View.inflate(MainActivity.this, R.layout.item1, null); holder = new ViewHolder(); holder.item1_image = (ImageView) convertView.findViewById(R.id.item_image1); convertView.setTag(holder); break; case TYPE_1: convertView = View.inflate(MainActivity.this, R.layout.item2, null); holder1 = new ViewHolder1(); holder1.item2_image = (ImageView) convertView.findViewById(R.id.item2_image1); holder1.item2_text = (TextView) convertView.findViewById(R.id.item2_te1); convertView.setTag(holder1); break; case TYPE_2: convertView = View.inflate(MainActivity.this, R.layout.item3, null); holder2 = new ViewHolder2(); holder2.item3_image = (ImageView) convertView.findViewById(R.id.item3_image1); holder2.item3_text = (TextView) convertView.findViewById(R.id.item3_te1); convertView.setTag(holder2); break; case TYPE_3: convertView = View.inflate(MainActivity.this, R.layout.item4, null); holder3 = new ViewHolder3(); holder3.item4_text = (TextView) convertView.findViewById(R.id.item4_te); holder3.item4_text1 = (TextView) convertView.findViewById(R.id.item4_te1); convertView.setTag(holder3); break; } } else { switch (type) { case TYPE_0: holder = (ViewHolder) convertView.getTag(); break; case TYPE_1: holder1 = (ViewHolder1) convertView.getTag(); break; case TYPE_2: holder2 = (ViewHolder2) convertView.getTag(); break; case TYPE_3: holder3 = (ViewHolder3) convertView.getTag(); break; } } switch (type) { case TYPE_0: if (position == 0) { ImageLoader.getInstance().displayImage(bean.getData().get(position).getImg().get(position).getCarouselUrl(), holder.item1_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } break; case TYPE_1: if (position == 1) { holder1.item2_text.setText(bean.getData().get(1).getBody().get(0).get(0).getCategoryTitle()); ImageLoader.getInstance().displayImage(bean.getData().get(1).getBody().get(0).get(0).getUrl(), holder1.item2_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } else if (position == 2) { holder1.item2_text.setText(bean.getData().get(1).getBody().get(0).get(1).getCategoryTitle()); ImageLoader.getInstance().displayImage(bean.getData().get(1).getBody().get(0).get(1).getUrl(), holder1.item2_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } else if (position == 3) { holder1.item2_text.setText(bean.getData().get(1).getBody().get(0).get(2).getCategoryTitle()); ImageLoader.getInstance().displayImage(bean.getData().get(1).getBody().get(0).get(2).getUrl(), holder1.item2_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } else if (position == 4) { holder1.item2_text.setText(bean.getData().get(1).getBody().get(1).get(0).getCategoryTitle()); ImageLoader.getInstance().displayImage(bean.getData().get(1).getBody().get(1).get(0).getUrl(), holder1.item2_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } else if (position == 5) { holder1.item2_text.setText(bean.getData().get(1).getBody().get(1).get(1).getCategoryTitle()); ImageLoader.getInstance().displayImage(bean.getData().get(1).getBody().get(1).get(1).getUrl(), holder1.item2_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } else if (position == 6) { holder1.item2_text.setText(bean.getData().get(1).getBody().get(1).get(2).getCategoryTitle()); ImageLoader.getInstance().displayImage(bean.getData().get(1).getBody().get(1).get(2).getUrl(), holder1.item2_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } else if (position == 7) { holder1.item2_text.setText(bean.getData().get(1).getBody().get(2).get(0).getCategoryTitle()); ImageLoader.getInstance().displayImage(bean.getData().get(1).getBody().get(2).get(0).getUrl(), holder1.item2_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } else if (position == 8) { holder1.item2_text.setText(bean.getData().get(1).getBody().get(2).get(1).getCategoryTitle()); ImageLoader.getInstance().displayImage(bean.getData().get(1).getBody().get(2).get(1).getUrl(), holder1.item2_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } else if (position == 9) { holder1.item2_text.setText(bean.getData().get(1).getBody().get(2).get(2).getCategoryTitle()); ImageLoader.getInstance().displayImage(bean.getData().get(1).getBody().get(2).get(2).getUrl(), holder1.item2_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } break; case TYPE_2: if (position == 10) { holder2.item3_text.setText(bean.getData().get(2).getNotice().get(0).getNoticeDescription()); ImageLoader.getInstance().displayImage(bean.getData().get(2).getNotice().get(0).getPicture(), holder2.item3_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } else if (position == 11) { holder2.item3_text.setText(bean.getData().get(2).getNotice().get(1).getNoticeDescription()); ImageLoader.getInstance().displayImage(bean.getData().get(2).getNotice().get(1).getPicture(), holder2.item3_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } else if (position == 12) { holder2.item3_text.setText(bean.getData().get(2).getNotice().get(2).getNoticeDescription()); ImageLoader.getInstance().displayImage(bean.getData().get(2).getNotice().get(2).getPicture(), holder2.item3_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } else if (position == 13) { holder2.item3_text.setText(bean.getData().get(2).getNotice().get(3).getNoticeDescription()); ImageLoader.getInstance().displayImage(bean.getData().get(2).getNotice().get(3).getPicture(), holder2.item3_image, ImageLoaderUtil.options(R.mipmap.ic_launcher)); } break; case TYPE_3: if (position == 14) { holder3.item4_text.setText(bean.getData().get(3).getCodeVersion().getVersionId() + ""); holder3.item4_text1.setText(bean.getData().get(3).getCodeVersion().getVersion()); } break; } return convertView; } class ViewHolder { ImageView item1_image; } class ViewHolder1 { TextView item2_text; ImageView item2_image; } class ViewHolder2 { TextView item3_text; ImageView item3_image; } class ViewHolder3 { TextView item4_text; TextView item4_text1; } }); } });