コード例 #1
0
    @Override
    public void onReceive(Context context, Intent intent) {
      // TODO Auto-generated method stub
      Log.d("Session:", intent.getAction());
      if (ACTION_FRIENDED.equals(intent.getAction())) {
        initAdaperView();
      } else if (NotifyChatMessage.ACTION_NOTIFY_CHAT_MESSAGE.equals(intent.getAction())) {
        SessionList sessionList =
            (SessionList)
                intent.getSerializableExtra(NotifyChatMessage.EXTRAS_NOTIFY_SESSION_MESSAGE);
        if (sessionList == null) {
          return;
        }

        SessionVo tempSessionVo = new SessionVo();
        tempSessionVo.setSessionList(sessionList);
        List<SessionVo> sessionVos = adapter.getSessionVos();
        int index = sessionVos.indexOf(tempSessionVo);
        if (index != -1) {
          SessionVo mySessionVo = sessionVos.get(index);
          tempSessionVo.setCustomerVo(mySessionVo.getCustomerVo());
          sessionVos.remove(mySessionVo);
          sessionVos.add(index, tempSessionVo);
        } else {
          CustomerVo customerVo = getFinalDb().findById(sessionList.getFuid(), CustomerVo.class);
          if (customerVo != null) {
            tempSessionVo.setCustomerVo(customerVo);
            sessionVos.add(0, tempSessionVo);
          }
        }

        Collections.sort(sessionVos, mSessionComparator);

        handler.post(
            new Runnable() {

              @Override
              public void run() {
                adapter.notifyDataSetInvalidated();
                try {
                  // IndexTabActivity.getInstance()
                  // .sessionPromptUpdate();
                  getActivity().sendBroadcast(new Intent(IndexTabActivity.ACTION_REFRESH_SESSION));
                } catch (Exception e) {

                }
              }
            });
      }
    }
コード例 #2
0
    private void bindViewHolder(ViewHolder viewHolder, SessionVo sessionVo) {
      if ("1".equals(sessionVo.getCustomerVo().getSex())) {
        viewHolder.imgSex.setImageResource(R.drawable.sex_man);
      } else {
        viewHolder.imgSex.setImageResource(R.drawable.sex_woman);
      }

      String userType = sessionVo.getCustomerVo().getCustomertype();
      if (Constants.CustomerType.CHATTING.equals(userType)) {
        // 认证头像
        if ("1".equals(sessionVo.getCustomerVo().getAgent())) {
          viewHolder.imgSubscript.setImageResource(R.drawable.subscript_economic);
          viewHolder.imgSubscript.setVisibility(View.VISIBLE);
        } else if ("1".equals(sessionVo.getCustomerVo().getHeadattest())) {
          viewHolder.imgSubscript.setImageResource(R.drawable.subscript_auth);
          viewHolder.imgSubscript.setVisibility(View.VISIBLE);
        } else {
          viewHolder.imgSubscript.setVisibility(View.GONE);
        }
      } else {
        // 是否是VIP
        if ("1".equals(sessionVo.getCustomerVo().getVip())) {
          viewHolder.imgSubscript.setImageResource(R.drawable.subscript_vip);
          viewHolder.imgSubscript.setVisibility(View.VISIBLE);
        } else {
          viewHolder.imgSubscript.setVisibility(View.GONE);
        }
      }

      long time = sessionVo.getSessionList().getUpdateTime();
      String userName = TextdescTool.getCustomerName(sessionVo.getCustomerVo());
      int noReadNum = sessionVo.getSessionList().getNotReadNum();

      String age = sessionVo.getCustomerVo().getBirthday();
      String location = sessionVo.getCustomerVo().getLocal();
      String line = sessionVo.getCustomerVo().getOnline();
      // String sign = sessionVo.getCustomerVo().getInterest();

      viewHolder.txtUsername.setText(userName);
      viewHolder.txtLocation.setText(location);
      if (0 != noReadNum) {
        viewHolder.txtNoreadNum.setVisibility(View.VISIBLE);
        viewHolder.txtNoreadNum.setText(noReadNum + "");
      } else {
        viewHolder.txtNoreadNum.setVisibility(View.GONE);
      }

      if (isEdit) {
        viewHolder.txtTime.setVisibility(View.GONE);
        viewHolder.btnDel.setVisibility(View.VISIBLE);
        viewHolder.btnDel.setOnClickListener(onClickListener);
        viewHolder.btnDel.setTag(sessionVo);
      } else {
        viewHolder.btnDel.setVisibility(View.GONE);
        viewHolder.txtTime.setVisibility(View.VISIBLE);
        viewHolder.txtTime.setText(TextdescTool.timeDifference(time));
      }
      // by zj
      viewHolder.txtAge.setText(TextdescTool.dateToAge(age, true) + "岁");
      viewHolder.txtLocation.setText(location);
      viewHolder.txtLine.setText(line);
      // by zj
      viewHolder.txtWealth.setText(
          getString(R.string.wealth_value) + sessionVo.getCustomerVo().getUsercp());

      FinalOnloadBitmap.finalDisplay(
          context, sessionVo.getCustomerVo(), viewHolder.imgHead, getHeadBitmap());
      viewHolder.imgHead.setTag(sessionVo.getCustomerVo());
      viewHolder.imgHead.setOnClickListener(onClickListener);
      if (!TextUtils.isEmpty(sessionVo.getSessionList().getLastContent()))
        viewHolder.txtSign.setText(
            EmojiUtil.getExpressionString(
                context, sessionVo.getSessionList().getLastContent(), ChatMainActivity.EMOJIREX));
    }