示例#1
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;
  }