public void refreshAvatarView(String url) {
   Trace.d(TAG, "refreshAvatarView:" + rec.getAvatar().toString());
   if (!StringUtil.getInstance().IsEmpty(url)) {
     try {
       avatarFB = FinalBitmap.create(HomePageActivity.this);
       avatarFB.flushCache();
       avatarFB.closeCache();
       avatarFB.configCalculateBitmapSizeWhenDecode(true);
       avatarFB.display(ivAvatar, url, true);
     } catch (Exception e) {
       Log.e(TAG, "refreshAvatarView:display user avatar error.", e);
     }
   } else {
     Log.e(TAG, "refreshAvatarView:url is empty.");
   }
 }
  // 更新服务端数据
  private void reayToSaveUserInfo() {
    if (!NetworkUtil.getInstance().existNetwork(HomePageActivity.this)) {
      Toast.makeText(HomePageActivity.this, R.string.network_disable_error, Toast.LENGTH_LONG)
          .show();
      return;
    }
    final String currMethod = "readyToSaveUserInfo:";
    if (null == rec) {
      Log.e(TAG, currMethod + "userRec == null");
      Toast.makeText(HomePageActivity.this, R.string.user_basic_send_failed_rem, Toast.LENGTH_SHORT)
          .show();
      return;
    }
    lockScreen(getString(R.string.user_basic_send_ing));
    UserService us = new UserService();
    AjaxCallBack<Object> callBack =
        new AjaxCallBack<Object>() {
          @Override
          public void onFailure(Throwable t, String strMsg) {
            releaseScreen();
            Log.e(TAG, currMethod + "onFailure,Msg->" + strMsg, t);
            if (BuildConfig.isDebug) {
              String msg = strMsg;
              if (StringUtil.getInstance().IsEmpty(msg)) {
                msg = null == t ? "Exception t is null." : t.toString();
              }
              ExceptionRemHelper.showExceptionReport(HomePageActivity.this, msg);
            } else {
              Toast.makeText(
                      HomePageActivity.this,
                      R.string.user_basic_send_failed_rem,
                      Toast.LENGTH_SHORT)
                  .show();
            }
            super.onFailure(t, strMsg);
          }

          @Override
          public void onSuccess(Object t) {
            releaseScreen();
            if (null != t) {
              String json = t.toString();
              Trace.d(TAG, currMethod + ",Json->" + json);
              ServerResponseParser parser = new ServerResponseParser();
              BaseResponse br = parser.parseUpdateUserInfo(json);
              if (null != br && ErrorCodeStant.getInstance().isSucceed(br.getErrorCode())) {
                Toast.makeText(
                        HomePageActivity.this, R.string.user_basic_succeed_rem, Toast.LENGTH_SHORT)
                    .show();
                ResponseUser user = (ResponseUser) br;
                UserRec userRec = user.getUserRec();
                SettingUtil.getInstance(HomePageActivity.this)
                    .saveUserInfo(userRec.getUserId(), userRec);
                String flag = "back";
                FragmentChangeActivity.slideMenu.setTag(flag);
              } else {
                InitPersonalInfo();
                String message = getString(R.string.user_basic_send_failed_rem);
                String msg = getString(R.string.user_basic_send_failed_rem);
                if (null == br) {
                  msg = "parseUploadPic: Result:BaseResponse is null.";
                } else {
                  message = br.getMessage();
                }
                int errorCode = br.getErrorCode();
                switch (errorCode) {
                  default:
                    msg = br.getMessage();
                    break;
                    // }
                }
                Log.e(
                    TAG,
                    currMethod + "errorCode:" + br.getErrorCode() + "--Message:" + br.getMessage());
                if (BuildConfig.isDebug) {
                  ExceptionRemHelper.showExceptionReport(HomePageActivity.this, msg);
                } else {
                  Toast.makeText(HomePageActivity.this, message, Toast.LENGTH_SHORT).show();
                }
              }
            } else {
              Log.d(TAG, currMethod + "Result t is null");
              if (BuildConfig.isDebug) {
                String msg = "result t is null.";
                ExceptionRemHelper.showExceptionReport(HomePageActivity.this, msg);
              } else {
                Toast.makeText(
                        HomePageActivity.this,
                        R.string.get_user_info_failed_rem,
                        Toast.LENGTH_SHORT)
                    .show();
              }
            }
            super.onSuccess(t);
          }
        };
    String email = etEmail.getText().toString();
    String realName = etRealName.getText().toString();
    String sex = String.valueOf(rec.getSex());
    String birthday = rec.getBirthday();
    String msn = etMsn.getText().toString();
    String QQ = etQQ.getText().toString();
    String officePhone = etOfficePhone.getText().toString();
    String homePhone = etHomePhone.getText().toString();
    String mobilePhone = etMobilePhone.getText().toString();
    us.updateUserInfo(
        HomePageActivity.this,
        email,
        realName,
        sex,
        birthday,
        msn,
        QQ,
        officePhone,
        homePhone,
        mobilePhone,
        callBack);
  }
  // 对性别的特殊处理
  private void showSexSettingRem() {
    final Dialog dialog = new Dialog(HomePageActivity.this, R.style.dialog);
    WindowManager m = HomePageActivity.this.getWindowManager();
    Display d = m.getDefaultDisplay();
    WindowManager.LayoutParams p = HomePageActivity.this.getWindow().getAttributes();
    p.width = (int) (d.getWidth() * 0.8);
    final ViewGroup root =
        (ViewGroup)
            LayoutInflater.from(HomePageActivity.this)
                .inflate(R.layout.sex_setting_content_view, null);
    RadioGroup sex = (RadioGroup) root.findViewById(R.id.sex_select);
    if (rec.getSex() == 1) {
      ((RadioButton) root.findViewById(R.id.male)).setChecked(true);

    } else if (rec.getSex() == 2) {
      ((RadioButton) root.findViewById(R.id.female)).setChecked(true);
    } else {
      ((RadioButton) root.findViewById(R.id.secrecy)).setChecked(true);
    }
    Button chance = (Button) root.findViewById(R.id.btn_chance);
    chance.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            dialog.dismiss();
          }
        });

    sex.setOnCheckedChangeListener(
        new OnCheckedChangeListener() {

          @Override
          public void onCheckedChanged(RadioGroup group, int checkedId) {

            switch (checkedId) {
              case R.id.male:
                rec.setSex(1);
                etSex.setText(R.string.sex_male);
                dialog.dismiss();
                break;
              case R.id.female:
                rec.setSex(2);
                etSex.setText(R.string.sex_female);
                dialog.dismiss();
                break;
              case R.id.secrecy:
                rec.setSex(0);
                etSex.setText(R.string.sex_secrecy);
                dialog.dismiss();
                break;
            }
            // System.out.println("===="+checkedId);
            // int radioButtonId = group.getCheckedRadioButtonId();
            // RadioButton rb = (RadioButton) findViewById(radioButtonId);
            // System.out.println("====4444444 "+(rb==null));
            // System.out.println("====111111 "+checkedId);
            // System.out.println("====33333 "+rb.getText().toString());
            // if
            // (rb.getText().toString().equals(getText(R.string.sex_male)))
            // {
            //
            // System.out.println("====22222 "+checkedId);
            // rec.setSex(1);
            // etSex.setText(R.string.sex_male);
            // dialog.dismiss();
            // } else if (rb.getText().toString()
            // .equals(getText(R.string.sex_female))) {
            // rec.setSex(2);
            // etSex.setText(R.string.sex_female);
            // dialog.dismiss();
            // } else {
            // rec.setSex(0);
            // etSex.setText(R.string.sex_secrecy);
            // dialog.dismiss();
            // }
          }
        });

    dialog.setContentView(root, p);
    p.width = d.getWidth();
    dialog.show();
  }
  // 当按下编辑资料按钮时操作
  private void reayToUpdateUserInfo() {
    String flag = "updating";
    FragmentChangeActivity.slideMenu.setTag(flag);
    FragmentChangeActivity.slideMenu.setSlidingEnabled(false);
    headLayout.setVisibility(View.GONE);
    middleLayout.setVisibility(View.GONE);
    sexGroup.setOnClickListener(
        new View.OnClickListener() {

          @Override
          public void onClick(View v) {
            if (!v.isEnabled()) return;
            v.setEnabled(false);
            if (isLogin) {
              // 更改性别
              showSexSettingRem();
              v.setEnabled(true);
            }
          }
        });
    // 更改生日
    birthdayGroup.setOnClickListener(
        new View.OnClickListener() {

          @Override
          public void onClick(View v) {
            if (!v.isEnabled()) return;
            v.setEnabled(false);
            if (isLogin) {
              // 更改生日
              showBirthdaySettingRem();
              v.setEnabled(true);
            }
          }
        });

    // 更改邮箱
    etEmail.setEnabled(isUpdate);
    if (etEmail.getText() != null) {
      etEmail.setHint(R.string.email_hint_text);
    }
    String email = etEmail.getText().toString();
    String regMacth = "[\\w]+@[\\w]+.[\\w]+";
    if (email.matches(regMacth)) {
      rec.setEmail(email);
    }

    // 更改真实姓名
    etRealName.setEnabled(isUpdate);
    if (etRealName.getText() != null) {
      etRealName.setHint(R.string.real_name_hint_text);
    }
    String RealName = etRealName.getText().toString();
    rec.setRealName(RealName);

    // 更改MSN
    etMsn.setEnabled(isUpdate);
    if (etMsn.getText() != null) {
      etMsn.setHint(R.string.msn_hint_text);
    }
    String Msn = etMsn.getText().toString();
    rec.setMsn(Msn);

    // 更改qq
    etQQ.setEnabled(isUpdate);
    if (etQQ.getText() != null) {
      etQQ.setHint(R.string.qq_hint_text);
    }
    String QQ = etQQ.getText().toString();
    rec.setQq(QQ);

    // 更改工作电话
    etOfficePhone.setEnabled(isUpdate);
    if (etOfficePhone.getText() != null) {
      etOfficePhone.setHint(R.string.office_phone_hint_text);
    }
    String OfficePhone = etOfficePhone.getText().toString();
    rec.setOfficePhone(OfficePhone);

    // 更改手机
    etMobilePhone.setEnabled(isUpdate);
    if (etMobilePhone.getText() != null) {
      etMobilePhone.setHint(R.string.mobile_phone_hint_text);
    }
    String MobilePhone = etMobilePhone.getText().toString();
    rec.setMobilePhone(MobilePhone);

    // 更改座机
    etHomePhone.setEnabled(isUpdate);
    if (etHomePhone.getText() != null) {
      etHomePhone.setHint(R.string.home_phone_hint_text);
    }
    String HomePhone = etHomePhone.getText().toString();
    rec.setHomePhone(HomePhone);
  }
  private void InitPersonalInfo() {
    // 更换头像

    Trace.d(TAG, "InitPersonalInfo:" + rec.getAvatar().toString());
    if (!StringUtil.getInstance().IsEmpty(rec.getAvatar().getBig())) {
      String url = RequestUrls.SERVER_BASIC_URL + rec.getAvatar().getBig();
      try {
        avatarFB = FinalBitmap.create(HomePageActivity.this);
        avatarFB.flushCache();
        avatarFB.closeCache();
        //				avatarFB.configLoadfailImage(R.drawable.menu_default_head);
        avatarFB.display(ivAvatar, url, true);
        //				avatarFB.display(ivAvatar, url, false);
      } catch (Exception e) {
        Log.e(TAG, "refreshAvatarView:display user avatar error.", e);
      }
    } else {
      Log.e(TAG, "refreshAvatarView:url is empty.");
    }
    ivAvatar.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View v) {
            Intent intent = new Intent(HomePageActivity.this, BigPicImgActivity.class);
            intent.putExtra(BigPicImgActivity.KET_FOR_BIGPIC, rec.getAvatar().getBig());
            startActivityForResult(intent, BIGPIC_FOR_RESULT);
            HomePageActivity.this.overridePendingTransition(
                R.anim.my_scale_action, R.anim.my_alpha_action);
          }
        });

    tvUserName.setText(rec.getUserName());

    long sendCount = rec.getOnSaleNum() + rec.getOffSaleNum();
    tvSendCount.setText(String.valueOf(sendCount));

    long favCount = rec.getFavNum();
    tvFavCount.setText(String.valueOf(favCount));

    tvAttentionCount.setText(rec.getAttendNum());

    tvVisitCount.setText(
        String.format(getString(R.string.visit_count_format), rec.getVisitCount()));

    btnOperation.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View v) {
            showChangeLogoRem();
          }
        });

    // 电子邮箱
    emailGroup = (ViewGroup) findViewById(R.id.email);
    TextView tvEmailTitle = (TextView) emailGroup.findViewById(R.id.info_title);
    tvEmailTitle.setText(R.string.home_page_item_title_email);
    etEmail = (EditText) emailGroup.findViewById(R.id.info_content);
    System.out.println("====etEmail==" + rec.getEmail());
    String regMacth = "[\\w]+@[\\w]+.[\\w]+";

    if (!StringUtil.getInstance().IsEmpty(rec.getEmail())
        && rec.getEmail() != null
        && rec.getEmail().matches(regMacth)) {

      etEmail.setText(rec.getEmail());
    } else {
      etEmail.setText("");
    }

    ((TextView) emailGroup.findViewById(R.id.info_hint)).setVisibility(View.VISIBLE);

    // 真实姓名
    realNameGroup = (ViewGroup) findViewById(R.id.real_name);
    TextView tvRealNameTitle = (TextView) realNameGroup.findViewById(R.id.info_title);
    tvRealNameTitle.setText(R.string.home_page_item_title_real_name);
    etRealName = (EditText) realNameGroup.findViewById(R.id.info_content);
    if (!StringUtil.getInstance().IsEmpty(rec.getRealName()) && rec.getRealName() != null) {
      etRealName.setText(rec.getRealName());
    }

    ((TextView) realNameGroup.findViewById(R.id.info_hint)).setVisibility(View.VISIBLE);

    // 性别
    sexGroup = (ViewGroup) findViewById(R.id.gender);
    TextView tvSexTitle = (TextView) sexGroup.findViewById(R.id.info_title);
    tvSexTitle.setText(R.string.home_page_item_title_sex);
    etSex = (EditText) sexGroup.findViewById(R.id.info_content);
    sexGroup.setBackgroundResource(R.drawable.light_item_bg_selector);

    switch (rec.getSex()) {
      case 0:
        etSex.setText(R.string.sex_secrecy);
        break;
      case 1:
        etSex.setText(R.string.sex_male);
        break;
      case 2:
        etSex.setText(R.string.sex_female);
        break;
      default:
        break;
    }
    ((TextView) sexGroup.findViewById(R.id.info_hint)).setVisibility(View.VISIBLE);

    // 生日
    birthdayGroup = (ViewGroup) findViewById(R.id.birthday);
    TextView tvBirthdayTitle = (TextView) birthdayGroup.findViewById(R.id.info_title);
    tvBirthdayTitle.setText(R.string.home_page_item_title_birthday);
    etBirthday = (EditText) birthdayGroup.findViewById(R.id.info_content);

    if (!StringUtil.getInstance().IsEmpty(rec.getBirthday())
        && rec.getBirthday() != null
        && !rec.getBirthday().equalsIgnoreCase("0000-00-00")) {
      etBirthday.setText(rec.getBirthday());
    }
    birthdayGroup.setBackgroundResource(R.drawable.light_item_bg_selector);

    ((TextView) birthdayGroup.findViewById(R.id.info_hint)).setVisibility(View.VISIBLE);

    // MSN
    msnGroup = (ViewGroup) findViewById(R.id.msn);
    TextView tvMSNTitle = (TextView) msnGroup.findViewById(R.id.info_title);
    tvMSNTitle.setText(R.string.home_page_item_title_msn);
    etMsn = (EditText) msnGroup.findViewById(R.id.info_content);

    if (!StringUtil.getInstance().IsEmpty(rec.getMsn()) && rec.getMsn() != null) {
      etMsn.setText(rec.getMsn());
    }
    ((TextView) msnGroup.findViewById(R.id.info_hint)).setVisibility(View.VISIBLE);

    // QQ
    qqGroup = (ViewGroup) findViewById(R.id.qq);
    TextView tvQQ = (TextView) qqGroup.findViewById(R.id.info_title);
    tvQQ.setText(R.string.home_page_item_title_qq);
    etQQ = (EditText) qqGroup.findViewById(R.id.info_content);
    if (!StringUtil.getInstance().IsEmpty(rec.getQq()) && rec.getQq() != null) {
      etQQ.setText(rec.getQq());
    }
    ((TextView) qqGroup.findViewById(R.id.info_hint)).setVisibility(View.VISIBLE);

    // 工作电话
    officePhoneGroup = (ViewGroup) findViewById(R.id.office_phone);
    TextView tvOfficePhone = (TextView) officePhoneGroup.findViewById(R.id.info_title);
    tvOfficePhone.setText(R.string.home_page_item_title_office_phone);
    etOfficePhone = (EditText) officePhoneGroup.findViewById(R.id.info_content);
    if (!StringUtil.getInstance().IsEmpty(rec.getOfficePhone()) && rec.getOfficePhone() != null) {
      etOfficePhone.setText(rec.getOfficePhone());
    }
    ((TextView) officePhoneGroup.findViewById(R.id.info_hint)).setVisibility(View.VISIBLE);

    // 手机
    mobilePhoneGroup = (ViewGroup) findViewById(R.id.mobile_phone);
    TextView tvMobilePhone = (TextView) mobilePhoneGroup.findViewById(R.id.info_title);
    tvMobilePhone.setText(R.string.home_page_item_title_mobile_phone);
    etMobilePhone = (EditText) mobilePhoneGroup.findViewById(R.id.info_content);
    if (!StringUtil.getInstance().IsEmpty(rec.getMobilePhone()) && rec.getMobilePhone() != null) {
      etMobilePhone.setText(rec.getMobilePhone());
    }
    ((TextView) mobilePhoneGroup.findViewById(R.id.info_hint)).setVisibility(View.VISIBLE);

    // 座机
    homePhoneGroup = (ViewGroup) findViewById(R.id.home_phone);
    TextView tvHomePhone = (TextView) homePhoneGroup.findViewById(R.id.info_title);
    tvHomePhone.setText(R.string.home_page_item_title_home_phone);
    etHomePhone = (EditText) homePhoneGroup.findViewById(R.id.info_content);
    if (!StringUtil.getInstance().IsEmpty(rec.getHomePhone()) && rec.getHomePhone() != null) {
      etHomePhone.setText(rec.getHomePhone());
    }
    ((TextView) homePhoneGroup.findViewById(R.id.info_hint)).setVisibility(View.VISIBLE);

    // attentionGroup = (ViewGroup) findViewById(R.id.attention);
    // TextView tvAttention = (TextView) attentionGroup
    // .findViewById(R.id.info_title);
    // tvAttention.setText(R.string.home_page_item_title_attention);
    // etAttention = (EditText)
    // attentionGroup.findViewById(R.id.info_content);
    // ((TextView) attentionGroup.findViewById(R.id.info_hint))
    // .setText(R.string.attention_hint_text);
    // // ((TextView)
    // //
    // attentionGroup.findViewById(R.id.info_hint)).setVisibility(View.VISIBLE);
  }