@Override
  public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder1 viewHolder1 = null;
    ViewHolder2 viewHolder2 = null;
    ViewHolder3 viewHolder3 = null;
    int type = getItemViewType(position);
    if (convertView == null) {
      switch (type) {
        case TYPE_ONE:
          viewHolder1 = new ViewHolder1();
          convertView = inflater.inflate(R.layout.item_topic1, null);
          viewHolder1.tv_tipic_flag = (TextView) convertView.findViewById(R.id.tv_tipic_flag);
          viewHolder1.iv_topic = (ImageView) convertView.findViewById(R.id.iv_topic);
          viewHolder1.tv_time = (TextView) convertView.findViewById(R.id.tv_time);
          viewHolder1.tv_people = (TextView) convertView.findViewById(R.id.tv_people);
          viewHolder1.btn_join = (Button) convertView.findViewById(R.id.btn_join);
          convertView.setTag(viewHolder1);
          break;
        case TYPE_TWO:
          viewHolder2 = new ViewHolder2();
          convertView = inflater.inflate(R.layout.item_topic2, null);
          viewHolder2.tv_history = (TextView) convertView.findViewById(R.id.tv_history);
          viewHolder2.tv1 = (TextView) convertView.findViewById(R.id.tv1);
          viewHolder2.tv2 = (TextView) convertView.findViewById(R.id.tv2);
          viewHolder2.tv3 = (TextView) convertView.findViewById(R.id.tv3);
          viewHolder2.iv1 = (ImageView) convertView.findViewById(R.id.iv1);
          viewHolder2.iv2 = (ImageView) convertView.findViewById(R.id.iv2);
          viewHolder2.iv3 = (ImageView) convertView.findViewById(R.id.iv3);
          convertView.setTag(viewHolder2);
          break;
        case TYPE_THREE:
          viewHolder3 = new ViewHolder3();
          convertView = inflater.inflate(R.layout.item_topic3, null);
          viewHolder3.iv_cover = (ImageView) convertView.findViewById(R.id.iv_cover);
          viewHolder3.iv_user = (CircleImageView) convertView.findViewById(R.id.iv_user);
          viewHolder3.tv_user_name = (TextView) convertView.findViewById(R.id.tv_user_name);
          viewHolder3.tv_title = (TextView) convertView.findViewById(R.id.tv_title);
          convertView.setTag(viewHolder3);
          break;
      }
    } else {
      switch (type) {
        case TYPE_ONE:
          viewHolder1 = (ViewHolder1) convertView.getTag();
          break;
        case TYPE_TWO:
          viewHolder2 = (ViewHolder2) convertView.getTag();
          break;
        case TYPE_THREE:
          viewHolder3 = (ViewHolder3) convertView.getTag();
          break;
      }
    }
    // data
    switch (type) {
      case TYPE_ONE:
        viewHolder1.tv_tipic_flag.setText(activityEntities.get(position).getTitle());
        viewHolder1.tv_time.setText("时间01.08-02.06");
        viewHolder1.tv_people.setText(
            "参与人数" + activityEntities.get(position).getActivityStats().getParticipator() + "人");
        ImageUtils.getInstance()
            .loadWebImage(
                mContext, viewHolder1.iv_topic, activityEntities.get(position).getImage());
        viewHolder1.btn_join.setOnClickListener(
            new View.OnClickListener() {
              @Override
              public void onClick(View v) {}
            });
        break;
      case TYPE_TWO:
        /*ImageUtils.getInstance().loadWebImage(mContext,viewHolder2.iv1,activityEntities.get(position).getImage());
        ImageUtils.getInstance().loadWebImage(mContext,viewHolder2.iv2,activityEntities.get(position+1).getImage());
        ImageUtils.getInstance().loadWebImage(mContext,viewHolder2.iv3,activityEntities.get(position+2).getImage());*/
        break;
      case TYPE_THREE:
        viewHolder3.tv_user_name.setText(
            userEntities.get(position - bundle.getInt("TYPE1_COUNT")).getLoginNickname());
        viewHolder3.tv_title.setText("#" + activityEntities.get(position).getTitle());
        ImageUtils.getInstance()
            .loadWebImage(
                mContext,
                viewHolder3.iv_user,
                userEntities.get(position - bundle.getInt("TYPE1_COUNT")).getLoginAvatar());
        if (postEntities.get(position - bundle.getInt("TYPE1_COUNT")).getMedia().size() > 1) {
          ImageUtils.getInstance()
              .loadWebImage(
                  mContext,
                  viewHolder3.iv_cover,
                  postEntities
                      .get(position - bundle.getInt("TYPE1_COUNT"))
                      .getMedia()
                      .get(1)
                      .getOriginalUrl());
        } else {
          ImageUtils.getInstance()
              .loadWebImage(
                  mContext,
                  viewHolder3.iv_cover,
                  activityEntities.get(position).getBackgroundImage());
        }
        break;
    }

    return convertView;
  }