package com.partynetwork.iparty.site; import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.partynetwork.dataprovider.DataProvider.IJsonResultListener; import com.partynetwork.dataprovider.json.NetworkEntity; import com.partynetwork.dataprovider.json.struct.Personal_setUserInfoByKeyRequest; import com.partynetwork.dataprovider.json.struct.Personal_setUserInfoByKeyResponse; import com.partynetwork.dataprovider.util.T; import com.partynetwork.iparty.R; import com.partynetwork.iparty.R.color; import com.partynetwork.iparty.app.AppContext; import com.partynetwork.iparty.info.UserInfo; import com.baidu.mobstat.StatService; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; public class SiteUserInfoNameActivity extends Activity implements IJsonResultListener { public static final String RESULT_NAME = "result_name"; /** * 返回按钮 */ @ViewInject(R.id.menu_head_left) private LinearLayout backBtn; /** * 确定按钮 */ @ViewInject(R.id.menu_head_right) private RelativeLayout rightBtn; /** * 页面标题 */ @ViewInject(R.id.menu_head_middle_text) private TextView headTitle; /** * 确定的文本框 */ @ViewInject(R.id.menu_head_right_tv) private TextView rightTv; /** * 姓名 */ @ViewInject(R.id.name_et) private EditText name; /** 当前登陆用户 */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.site_info_name); ViewUtils.inject(this); init(); } /** * 初始化 */ private void init() { initData(); } /** * 初始化数据 */ private void initData() { AppContext context = (AppContext) this.getApplication(); // 姓名 this.name.setText(context.getLoginInfo().getName()); rightBtn.setClickable(false); name.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } public void afterTextChanged(Editable s) { if (0 < s.toString().length()) { name.setTextColor(Color.BLACK); name.setBackgroundResource(R.drawable.stroke_single_select); rightBtn.setClickable(true); rightTv.setTextColor(getResources().getColor( R.color.blue_text)); } else { name.setTextColor(color.lightgray); name.setBackgroundResource(R.drawable.stroke_single); rightBtn.setClickable(false); rightTv.setTextColor(getResources().getColor(R.color.gray)); } } }); } /** * 事件监听 * * @param view */ @OnClick({ R.id.menu_head_left, R.id.menu_head_right }) public void onClick(View view) { switch (view.getId()) { case R.id.menu_head_left: // 关闭 finish(); break; case R.id.menu_head_right: // 确定 sendRequst(); break; default: break; } } /** * 发送修改请求 */ private void sendRequst() { AppContext context = (AppContext) this.getApplication(); Personal_setUserInfoByKeyRequest request = new Personal_setUserInfoByKeyRequest(); request.setUserId(context.getLoginUid()); request.setKey("userName"); request.setValue(this.name.getText().toString()); context.getmDataProvider().getJsonFromNetwork(request, this); } /** * 返回修改后的数据 * * @param str */ private void setResult(String str) { AppContext context = (AppContext) this.getApplication(); context.getLoginInfo().setName(str); Intent intent = new Intent(); intent.putExtra(RESULT_NAME, str); this.setResult(SiteUserInfoActivity.NAME_CODE, intent); finish(); } public void onNetworkRequest() { } public void onResultSuccess(NetworkEntity entity) { if (entity.getRequest().getAction() .equals(new Personal_setUserInfoByKeyRequest().getAction())) { Personal_setUserInfoByKeyResponse sResponse = (Personal_setUserInfoByKeyResponse) entity .getResponse(); UserInfo info = sResponse.getDetails(); String name = this.name.getText().toString(); if (info != null) { name = info.getUserName(); } setResult(name); } } public void onResultFail(String result) { T.showTips(this, R.drawable.tips_error, result); } @Override protected void onResume() { StatService.onResume(this); super.onResume(); } @Override protected void onPause() { StatService.onPause(this); super.onPause(); } }