Пример #1
0
    @Override
    public View getView(int position, View convertView, ViewGroup container) {
      ViewHolder holder = null;
      if (convertView == null) {
        holder = new ViewHolder();
        convertView =
            LayoutInflater.from(mContext).inflate(R.layout.choose_griditem, container, false);
        holder.imageView = (RecyclingImageView) convertView.findViewById(R.id.imageView);
        holder.icon = (ImageView) convertView.findViewById(R.id.video_icon);
        holder.tvDur = (TextView) convertView.findViewById(R.id.chatting_length_iv);
        holder.tvSize = (TextView) convertView.findViewById(R.id.chatting_size_iv);
        holder.imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        holder.imageView.setLayoutParams(mImageViewLayoutParams);
        convertView.setTag(holder);
      } else {
        holder = (ViewHolder) convertView.getTag();
      }

      // Check the height matches our calculated column width
      if (holder.imageView.getLayoutParams().height != mItemHeight) {
        holder.imageView.setLayoutParams(mImageViewLayoutParams);
      }

      // Finally load the image asynchronously into the ImageView, this
      // also takes care of
      // setting a placeholder image while the background thread runs
      String st1 = getResources().getString(R.string.Video_footage);
      if (position == 0) {
        holder.icon.setVisibility(View.GONE);
        holder.tvDur.setVisibility(View.GONE);
        holder.tvSize.setText(st1);
        holder.imageView.setImageResource(R.drawable.actionbar_camera_icon);
      } else {
        holder.icon.setVisibility(View.VISIBLE);
        VideoEntity entty = mList.get(position - 1);
        holder.tvDur.setVisibility(View.VISIBLE);

        holder.tvDur.setText(DateUtils.toTime(entty.duration));
        holder.tvSize.setText(TextFormater.getDataSize(entty.size));
        holder.imageView.setImageResource(R.drawable.empty_photo);
        mImageResizer.loadImage(entty.filePath, holder.imageView);
      }
      return convertView;
      // END_INCLUDE(load_gridview_item)
    }
Пример #2
0
  @Override
  public View getView(final int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
      convertView = LayoutInflater.from(context).inflate(R.layout.layout_item_msg, parent, false);
    }
    ImageView img_avar = ViewHolder.get(convertView, R.id.contactitem_avatar_iv);
    TextView txt_name = ViewHolder.get(convertView, R.id.txt_name);
    TextView txt_state = ViewHolder.get(convertView, R.id.txt_state);
    TextView txt_del = ViewHolder.get(convertView, R.id.txt_del);
    TextView txt_content = ViewHolder.get(convertView, R.id.txt_content);
    TextView txt_time = ViewHolder.get(convertView, R.id.txt_time);
    TextView unreadLabel = ViewHolder.get(convertView, R.id.unread_msg_number);
    SwipeLayout swipe = ViewHolder.get(convertView, R.id.swipe);
    if (PublicMsg != null && position == 0) {
      txt_name.setText("订阅号");
      img_avar.setImageResource(R.drawable.icon_public);
      txt_time.setText(PublicMsg.getTime());
      txt_content.setText(PublicMsg.getContent());
      unreadLabel.setText("3");
      unreadLabel.setVisibility(View.VISIBLE);
      swipe.setSwipeEnabled(false);
    } else {
      swipe.setSwipeEnabled(true);
      // 获取与此用户/群组的会话
      final EMConversation conversation = conversationList.get(position);
      // 获取用户username或者群组groupid
      ChatID = conversation.getUserName();
      txt_del.setTag(ChatID);
      if (conversation.isGroup()) {
        GroupInfo info = GloableParams.GroupInfos.get(ChatID);
        if (info != null) {
          txt_name.setText(info.getGroup_name());
          img_avar.setImageResource(R.drawable.defult_group);
          // initGroupInfo(img_avar, txt_name);// 获取群组信息
        }
      } else {
        User user = GloableParams.Users.get(ChatID);
        if (user != null) {
          txt_name.setText(user.getUserName());
          // initUserInfo(img_avar, txt_name);// 获取用户信息
        }
      }
      if (conversation.getUnreadMsgCount() > 0) {
        // 显示与此用户的消息未读数
        unreadLabel.setText(String.valueOf(conversation.getUnreadMsgCount()));
        unreadLabel.setVisibility(View.VISIBLE);
      } else {
        unreadLabel.setVisibility(View.INVISIBLE);
      }
      if (conversation.getMsgCount() != 0) {
        // 把最后一条消息的内容作为item的message内容
        EMMessage lastMessage = conversation.getLastMessage();
        txt_content.setText(
            SmileUtils.getSmiledText(context, getMessageDigest(lastMessage, context)),
            BufferType.SPANNABLE);
        txt_time.setText(DateUtils.getTimestampString(new Date(lastMessage.getMsgTime())));
        if (lastMessage.status == EMMessage.Status.SUCCESS) {
          txt_state.setText("送达");
          // txt_state.setBackgroundResource(R.drawable.btn_bg_orgen);
        } else if (lastMessage.status == EMMessage.Status.FAIL) {
          txt_state.setText("失败");
          // txt_state.setBackgroundResource(R.drawable.btn_bg_red);
        } else if (lastMessage.direct == EMMessage.Direct.RECEIVE) {
          txt_state.setText("已读");
          txt_state.setBackgroundResource(R.drawable.btn_bg_blue);
        }
      }

      txt_del.setOnClickListener(
          new OnClickListener() {

            @Override
            public void onClick(View v) {
              deleteID = position;
              Tipdialog = new WarnTipDialog((Activity) context, "您确定要删除该聊天吗?");
              Tipdialog.setBtnOkLinstener(onclick);
              Tipdialog.show();
            }
          });
    }
    return convertView;
  }