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.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.EditText; import android.widget.GridView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.baidu.mobstat.StatService; 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; public class SiteUserInfoStateActivity extends Activity implements IJsonResultListener, OnClickListener, OnItemClickListener { public static final String RESULT_STATE = "result_state"; /** * 返回按钮 */ private LinearLayout backBtn; /** * 确定按钮 */ private RelativeLayout rightBtn; /** * 页面标题 */ private TextView headTitle; /** * 确定的文本框 */ private TextView rightTv; /** * 表格布局 */ private GridView gridView; /** * 姓名 */ private EditText state; /** 状态数组 */ String[] stateArray = new String[] { "求醉宿", "求自己", "求偶遇", "恋爱中", "你懂的", "失恋中", "求包养", "求带走", "纯交友", "出柜中" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.site_info_state); init(); } /** * 初始化 */ private void init() { initView(); initData(); } private void initView() { /** * 返回按钮 */ backBtn = (LinearLayout) this.findViewById(R.id.menu_head_left); backBtn.setOnClickListener(this); /** * 确定按钮 */ rightBtn = (RelativeLayout) this.findViewById(R.id.menu_head_right); rightBtn.setOnClickListener(this); /** * 页面标题 */ headTitle = (TextView) this.findViewById(R.id.menu_head_middle_text); /** * 确定的文本框 */ rightTv = (TextView) this.findViewById(R.id.menu_head_right_tv); /** * 表格布局 */ gridView = (GridView) this.findViewById(R.id.gridview); gridView.setOnItemClickListener(this); /** * 姓名 */ state = (EditText) this.findViewById(R.id.name_et); } /** * 初始化数据 */ private void initData() { // 状态 AppContext context=(AppContext) this.getApplication(); this.state.setText(context.getLoginInfo().getState()); rightBtn.setClickable(false); state.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()) { state.setTextColor(Color.BLACK); state.setBackgroundResource(R.drawable.stroke_single_select); rightBtn.setClickable(true); rightTv.setTextColor(getResources().getColor( R.color.blue_text)); } else { state.setTextColor(color.lightgray); state.setBackgroundResource(R.drawable.stroke_single); rightBtn.setClickable(false); rightTv.setTextColor(getResources().getColor(R.color.gray)); } } }); StateAdapter adapter = new StateAdapter(this, stateArray); gridView.setAdapter(adapter); } /** * 事件监听 * * @param view */ 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; } } /** * 组选择 * * @param parent * @param view * @param position * @param id */ public void onItemClick(AdapterView<?> parent, View view, int position, long id) { state.setText(stateArray[position]); } /** * 发送修改请求 */ private void sendRequst() { AppContext context=(AppContext) this.getApplication(); Personal_setUserInfoByKeyRequest request = new Personal_setUserInfoByKeyRequest(); request.setUserId(context.getLoginUid()); request.setKey("userState"); request.setValue(this.state.getText().toString()); context.getmDataProvider().getJsonFromNetwork(request, this); } /** * 返回修改后的数据 * * @param str */ private void setResult(String str) { AppContext context=(AppContext) this.getApplication(); context.getLoginInfo().setState(str); Intent intent = new Intent(); intent.putExtra(RESULT_STATE, str); this.setResult(SiteUserInfoActivity.STATE_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 state = this.state.getText().toString(); if (info != null) { state = info.getUserState(); } setResult(state); } } 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(); } }