@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;
  }
Beispiel #2
0
  @TargetApi(Build.VERSION_CODES.LOLLIPOP)
  @Override
  public View getView(final int position, View convertView, ViewGroup viewGroup) {
    ViewHolder holder = null;
    ViewHolder1 holder1 = null;
    int type = getItemViewType(position);
    if (type == type0) {
      convertView = null;
      if (convertView == null || !convertView.getTag().getClass().equals(ViewHolder1.class)) {
        convertView = View.inflate(context, R.layout.fwithfloor_head, null);
        holder1 = new ViewHolder1();
        holder1.serch = convertView.findViewById(R.id.fwithfloor_serch);
        holder1.group = (TextView) convertView.findViewById(R.id.fwithfloor_group);
        holder1.used = (TextView) convertView.findViewById(R.id.fwithfloor_used);
        holder1.pp = (TextView) convertView.findViewById(R.id.fwithfloor_pp);
        holder1.help = (TextView) convertView.findViewById(R.id.fwithfloor_help);
        convertView.setTag(holder1);
      } else {
        holder1 = (ViewHolder1) convertView.getTag();
      }
    } else if (type == type1) {
      if (convertView == null || !convertView.getTag().getClass().equals(ViewHolder.class)) {
        holder = new ViewHolder();
        convertView = View.inflate(context, R.layout.fwithfloor_item, null);
        holder.icon = (CircleImageView) convertView.findViewById(R.id.fwithfloor_item_icon);
        holder.name = (TextView) convertView.findViewById(R.id.fwithfloor_item_name);
        holder.tip = (TextView) convertView.findViewById(R.id.fwithfloor_item_tip);
        holder.content = (TextView) convertView.findViewById(R.id.fwithfloor_item_content);
        holder.bluebtn = convertView.findViewById(R.id.fwithfloor_item_bluebtn);
        holder.graybtn = convertView.findViewById(R.id.fwithfloor_item_graybtn);
        holder.bluetext = (TextView) convertView.findViewById(R.id.fwithfloor_item_bluetext);
        holder.blueimage = (ImageView) convertView.findViewById(R.id.fwithfloor_item_blueimage);
        holder.graytext = (TextView) convertView.findViewById(R.id.fwithfloor_item_graytext);
        holder.praise = (TextView) convertView.findViewById(R.id.fwithfloor_item_atten);
        holder.time = (TextView) convertView.findViewById(R.id.fwithfloor_item_time);
        convertView.setTag(holder);
      } else {
        holder = (ViewHolder) convertView.getTag();
      }
    }
    if (type == type0) {
      holder1.serch.setOnClickListener(this);
      holder1.group.setOnClickListener(this);
      holder1.used.setOnClickListener(this);
      holder1.pp.setOnClickListener(this);
      holder1.help.setOnClickListener(this);
    } else if (type == type1) {
      bitmapUtils.display(holder.icon, entities.get(position - 1).publishUserIcon);

      holder.name.setText(entities.get(position - 1).publishUserNickname);
      if ("0".equals(entities.get(position - 1).modelType)) {
        holder.content.setText("活动:" + entities.get(position - 1).detail);
      } else if ("1".equals(entities.get(position - 1).modelType)) {
        if ("0".equals(entities.get(position - 1).supplyType)) {
          holder.content.setText("转让:" + entities.get(position - 1).detail);
        } else {
          holder.content.setText("求购:" + entities.get(position - 1).detail);
        }

      } else if ("2".equals(entities.get(position - 1).modelType)) {
        if ("0".equals(entities.get(position - 1).supplyType)) {
          holder.content.setText("车主:" + entities.get(position - 1).detail);
        } else {
          holder.content.setText("乘客:" + entities.get(position - 1).detail);
        }
      } else if ("3".equals(entities.get(position - 1).modelType)) {
        if ("0".equals(entities.get(position - 1).supplyType)) {
          holder.content.setText("求帮:" + entities.get(position - 1).detail);
        } else {
          holder.content.setText("自荐:" + entities.get(position - 1).detail);
        }
      }
      holder.tip.setText(entities.get(position - 1).topic);
      holder.time.setText(entities.get(position - 1).createDate);
      //            if ("0".equals(entities.get(position-1).modelType) ||
      // !entities.get(position-1).publishUserId.equals(ShareDataTool.getUserId(context))) {
      holder.bluebtn.setBackgroundResource(R.drawable.blue_chat);
      holder.bluebtn.setClickable(true);
      holder.bluebtn.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View view) {
              if (ToosUtils.CheckComInfo(context)) {
                if ("0".equals(entities.get(position - 1).modelType)) {
                  if ("0".equals(entities.get(position - 1).isInGroup)) {
                    Intent intent = new Intent(context, ChatActivity.class);
                    MessageInfo messageInfo = new MessageInfo();
                    messageInfo.receiverHeadUrl = entities.get(position - 1).id;
                    messageInfo.groupDynamicID = entities.get(position - 1).id;
                    messageInfo.receiverImUserName = entities.get(position - 1).imGroupId;
                    messageInfo.receiverNickName = entities.get(position - 1).groupName;
                    messageInfo.receiverUserId = entities.get(position - 1).imGroupId;
                    intent.putExtra("chatType", ChatActivity.CHATTYPE_GROUP);
                    Bundle bundle = new Bundle();
                    bundle.putSerializable("info", messageInfo);
                    intent.putExtras(bundle);
                    context.startActivity(intent);
                  } else {
                    Message message = new Message();
                    message.what = HiGroupActivity.ADDGROUP;
                    message.arg1 = position - 1;
                    handler.sendMessage(message);
                  }
                } else {
                  Intent intent = new Intent(context, ChatActivity.class);
                  MessageInfo messageInfo = new MessageInfo();
                  messageInfo.receiverHeadUrl = entities.get(position - 1).publishUserIcon;
                  messageInfo.receiverImUserName = entities.get(position - 1).publishUserImUsername;
                  messageInfo.receiverNickName = entities.get(position - 1).publishUserNickname;
                  messageInfo.receiverUserId = entities.get(position - 1).publishUserId;
                  messageInfo.senderHeadUrl = ShareDataTool.getIcon(context);
                  messageInfo.senderImUserName = ShareDataTool.getImUsername(context);
                  messageInfo.senderUserId = ShareDataTool.getUserId(context);
                  messageInfo.senderNickName = ShareDataTool.getNickname(context);
                  Bundle bundle = new Bundle();
                  bundle.putSerializable("info", messageInfo);
                  intent.putExtras(bundle);
                  context.startActivity(intent);
                }
              }
            }
          });

      if ("1".equals(entities.get(position - 1).isInGroup)
          && "0".equals(entities.get(position - 1).modelType)) {
        if (ToosUtils.isStringEmpty(entities.get(position - 1).planPeopleNum)) {
          entities.get(position - 1).planPeopleNum = "0";
        }
        if (ToosUtils.isStringEmpty(entities.get(position - 1).groupNum)) {
          entities.get(position - 1).groupNum = "0";
        }
        if ("0".equals(entities.get(position - 1).applyState)
            && Integer.valueOf(entities.get(position - 1).planPeopleNum)
                <= Integer.valueOf(entities.get(position - 1).groupNum)) {
          holder.bluetext.setText("已关闭");
          holder.blueimage.setImageResource(R.mipmap.end);
          holder.bluebtn.setBackgroundResource(R.drawable.gray_atten);
          holder.bluebtn.setClickable(false);
          holder.bluebtn.setEnabled(false);
        } else {
          holder.bluetext.setText("加入");
          holder.blueimage.setImageResource(R.mipmap.add_chat);
        }

      } else {
        holder.bluetext.setText("聊聊");
        holder.blueimage.setImageResource(R.mipmap.myfloor_speak);
      }

      if (!"0".equals(entities.get(position - 1).state)) {
        holder.bluetext.setText("已关闭");
        holder.blueimage.setImageResource(R.mipmap.end);
        holder.bluebtn.setBackgroundResource(R.drawable.gray_atten);
        holder.bluebtn.setClickable(false);
        holder.bluebtn.setEnabled(false);
      }

      //            } else {
      //                holder.bluetext.setText("聊聊");
      //                holder.blueimage.setImageResource(R.mipmap.myfloor_speak);
      //                holder.bluebtn.setBackgroundResource(R.drawable.gray_atten);
      //                holder.bluebtn.setClickable(false);
      //            }

      //        holder.graybtn.setTag("graybtn"+position);
      //        holder.graytext.setTag("graytext"+position);
      if (Constant.ATTEN_OK.equals(entities.get(position - 1).isAttention)) {
        holder.graybtn.setBackgroundResource(R.drawable.gray_attened);
        holder.graytext.setText("已关注");
      } else {
        holder.graybtn.setBackgroundResource(R.drawable.gray_atten);
        holder.graytext.setText("关注");
      }
      holder.graybtn.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View view) {
              //                    if (ToosUtils.CheckComInfo(context)) {
              //                        if
              // (!ShareDataTool.getUserId(context).equals(entities.get(position -
              // 1).publishUserId)) {
              Message message = new Message();
              message.what = WithFloorFragment.ATTEN;
              message.obj = position - 1;
              handler.sendMessage(message);
              //                        } else {
              //                            ToastUtils.displayShortToast(context, "不可以关注自己的发布!");
              //                        }
              //                    }
            }
          });

      holder.icon.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              Intent intent = new Intent(context, ConstactActivity.class);
              intent.putExtra("id", entities.get(position - 1).publishUserId);
              intent.putExtra("name", entities.get(position - 1).publishUserNickname);
              context.startActivity(intent);
            }
          });
      holder.praise.setTag("praise" + (position - 1));
      holder.praise.setText(entities.get(position - 1).praiseNum);
      if (Constant.PRAISE_OK.equals(entities.get(position - 1).isPraise)) {
        holder.praise.setTextColor(Color.parseColor("#499EB8"));
        Drawable drawable = ContextCompat.getDrawable(context, R.mipmap.consult_atten_checked);
        drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
        holder.praise.setCompoundDrawables(drawable, null, null, null);

      } else {
        holder.praise.setTextColor(Color.parseColor("#B3B3B3"));
        Drawable drawable = ContextCompat.getDrawable(context, R.mipmap.consult_atten);
        drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
        holder.praise.setCompoundDrawables(drawable, null, null, null);
      }

      holder.praise.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View view) {
              if (ToosUtils.CheckComInfo(context)) {
                Message message = new Message();
                message.what = WithFloorFragment.PRAISE;
                message.obj = position - 1;
                handler.sendMessage(message);
              }
            }
          });
    }
    return convertView;
  }
Beispiel #3
0
  @Override
  public View getView(final int position, View convertView, ViewGroup viewGroup) {
    ViewHolder holder = null;
    ViewHolder1 holder1 = null;
    int type = getItemViewType(position);
    if (type == type0) {
      convertView = null;
      if (convertView == null || !convertView.getTag().getClass().equals(ViewHolder.class)) {
        convertView = View.inflate(context, R.layout.groupdetail_head, null);
        holder = new ViewHolder();
        holder.icon = (CircleImageView) convertView.findViewById(R.id.groupdetail_icon);
        holder.name = (TextView) convertView.findViewById(R.id.groupdetail_name);
        holder.address = (TextView) convertView.findViewById(R.id.groupdetail_address);
        holder.num = (TextView) convertView.findViewById(R.id.groupdetail_num);
        holder.time = (TextView) convertView.findViewById(R.id.groupdetail_time);
        holder.content = (TextView) convertView.findViewById(R.id.groupdetail_content);
        holder.tip = (TextView) convertView.findViewById(R.id.groupdetail_tip);
        holder.join = (TextView) convertView.findViewById(R.id.groupdetail_join);
        holder.menu_lin = (LinearLayout) convertView.findViewById(R.id.groupdetail_menu_lin);
        holder.replay = (ImageView) convertView.findViewById(R.id.groupdetail_replay);
        holder.parimage = (ImageView) convertView.findViewById(R.id.groupdetail_parimage);
        holder.gridView = (MyGridView) convertView.findViewById(R.id.groupdetail_grid);
        convertView.setTag(holder);
      } else {
        holder = (ViewHolder) convertView.getTag();
      }
    } else if (type == type1) {
      if (convertView == null || !convertView.getTag().getClass().equals(ViewHolder1.class)) {
        convertView = View.inflate(context, R.layout.groupdetail_item, null);
        holder1 = new ViewHolder1();
        holder1.icon = (CircleImageView) convertView.findViewById(R.id.groupdetail_item_icon);
        holder1.name = (TextView) convertView.findViewById(R.id.groupdetail_item_name);
        holder1.content = (TextView) convertView.findViewById(R.id.groupdetail_item_content);
        holder1.time = (TextView) convertView.findViewById(R.id.groupdetail_item_time);
        holder1.reply = (TextView) convertView.findViewById(R.id.groupdetail_item_reply);
        holder1.del = (TextView) convertView.findViewById(R.id.groupdetail_item_del);
        convertView.setTag(holder1);
      } else {
        holder1 = (ViewHolder1) convertView.getTag();
      }
    }
    if (type == type0) {
      if (!entity.publishUserIcon.equals(holder.icon.getTag())) {
        holder.icon.setTag(entity.publishUserIcon);
        bitmapUtils.display(holder.icon, entity.publishUserIcon);
      }
      //            bitmapUtils.display(holder.icon, entity.publishUserIcon);
      holder.name.setText(entity.publishUserNickname);
      holder.address.setText(entity.locationName);
      holder.tip.setText(entity.topic);
      holder.num.setText("参团人数:" + entity.groupNum + "/" + entity.planPeopleNum);
      holder.time.setText("截止日期:" + entity.endDate);
      holder.content.setText(entity.detail);
      holder.join.setEnabled(true);
      holder.join.setClickable(true);
      if ("0".equals(entity.isInGroup)) {
        holder.join.setText("已参加进群聊");
      } else {
        holder.join.setText("参加");
        try {
          if ("0".equals(entity.applyState)
              && Integer.valueOf(entity.planPeopleNum) <= Integer.valueOf(entity.groupNum)) {
            holder.join.setText("活动关闭");
            holder.join.setEnabled(false);
            holder.join.setClickable(false);
          }
          if (!"0".equals(entity.state)) {
            holder.join.setText("活动关闭");
            holder.join.setEnabled(false);
            holder.join.setClickable(false);
          }
        } catch (Exception e) {

        }
      }

      holder.join.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              if (ToosUtils.CheckComInfo(context)) {
                handler.sendEmptyMessage(1112);
              }
            }
          });
      holder.icon.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              Intent intent = new Intent(context, ConstactActivity.class);
              intent.putExtra("id", entity.publishUserId);
              intent.putExtra("name", entity.publishUserNickname);
              context.startActivity(intent);
            }
          });
      List<User> userList = entity.praiseUser;
      if (userList == null) {
        userList = new ArrayList<>();
      }
      GroupDetailGridViewAdapter gridAdapter = new GroupDetailGridViewAdapter(context, userList);
      holder.gridView.setAdapter(gridAdapter);

      if (userList.size() == 0) {
        holder.parimage.setVisibility(View.INVISIBLE);
      } else {
        holder.parimage.setVisibility(View.VISIBLE);
      }

      holder.replay.setTag("pppp" + position);
      rep = holder.replay;

      holder.replay.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              if (ToosUtils.CheckComInfo(context)) {
                if (menuWindow == null || menuWindow.isShowing() == false) {
                  menu_press();
                } else {
                  menuWindow.dismiss();
                }
              }
            }
          });

    } else if (type == type1) {
      if (!entities.get(position - 1).publishUserIcon.equals(holder1.icon.getTag())) {
        holder1.icon.setTag(entities.get(position - 1).publishUserIcon);
        bitmapUtils.display(holder1.icon, entities.get(position - 1).publishUserIcon);
      }

      if (ShareDataTool.getUserId(context).equals(entities.get(position - 1).publishUserId)) {
        entities.get(position - 1).publishUserNickname = "我";
      }

      if (ShareDataTool.getUserId(context).equals(entities.get(position - 1).targetUserId)) {
        entities.get(position - 1).targetUserNickname = "我";
      }

      if (ToosUtils.isStringEmpty(entities.get(position - 1).parentId)
          || entities.get(position - 1).parentId.equals(entity.id)) {
        holder1.name.setText(entities.get(position - 1).publishUserNickname);
      } else {
        holder1.name.setText(
            Html.fromHtml(
                entities.get(position - 1).publishUserNickname
                    + "\u2000<font color=\"#0076FF\">回复</font>\u2000"
                    + entities.get(position - 1).targetUserNickname));
      }
      //            if (ToosUtils.isStringEmpty(entities.get(position-1).targetUserId)){
      //                holder1.name.setText(entities.get(position - 1).publishUserNickname);
      //            }else{
      //                holder1.name.setText(entities.get(position -
      // 1).publishUserNickname+"\u2000回复\u2000"+entities.get(position-1).targetUserNickname);
      //            }
      if (ShareDataTool.getUserId(context).equals(entities.get(position - 1).publishUserId)) {
        holder1.del.setVisibility(View.VISIBLE);
        holder1.del.setOnClickListener(
            new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                if (ToosUtils.CheckComInfo(context)) {
                  String temp = "是否删除该评论?";
                  if (ToosUtils.isStringEmpty(entities.get(position - 1).targetUserId)) {
                    temp = "是否删除该评论?";
                  } else {
                    temp = "是否删除该回复?";
                  }

                  CustomeDialog dialog =
                      new CustomeDialog(context, handler, temp, position - 1, -2, null);
                  //                        Message message=new Message();
                  //                        message.what=1009;
                  //                        message.arg1=(position-1);
                  //                        handler.sendMessage(message);
                }
              }
            });
      } else {
        holder1.del.setVisibility(View.GONE);
      }

      holder1.icon.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              Intent intent = new Intent(context, ConstactActivity.class);
              intent.putExtra("id", entities.get(position - 1).publishUserId);
              intent.putExtra("name", entities.get(position - 1).publishUserNickname);
              context.startActivity(intent);
            }
          });

      holder1.content.setText(entities.get(position - 1).content);
      holder1.time.setText(entities.get(position - 1).createDate);
      holder1.reply.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              if (ToosUtils.CheckComInfo(context)) {
                Message message = new Message();
                message.what = 1005;
                message.arg1 = (position - 1);
                handler.sendMessage(message);
              }
            }
          });
    }
    return convertView;
  }