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();
}
}