package com.snail.travellingTrail.slidingmenu.controller;
import java.util.Map;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.view.View.OnTouchListener;
import android.widget.PopupWindow;
import android.widget.PopupWindow.OnDismissListener;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.snail.travellingTrail.R;
import com.snail.travellingTrail.common.ResponseList;
import com.snail.travellingTrail.common.utils.CustomMenu;
import com.snail.travellingTrail.common.views.CircleImageView;
public class UserInfoEditActivity extends SherlockActivity{
private PopupWindow pop;
RelativeLayout sexRlyt,birthdayRlyt,addressRlyt,nicknameRlyt,sinatureRlyt,introduceRlyt;
private TextView sinatureTv,nickNameTv,sexTv,brithdayTv,addressTv,introduceTv,accountTv;
private final static int SEX = 0;
private final static int BIRTHDAY = 1;
private final static int ADDRESS = 2;
Map<String,String> map;
CircleImageView mCircleImageView;
@Override
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_slidingmenu_modify_info);
findid();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
super.onCreate(savedInstanceState);
}
private void findid() {
sexRlyt = (RelativeLayout)findViewById(R.id.act_slidingmenu_rlyt_sex);
birthdayRlyt = (RelativeLayout)findViewById(R.id.act_slidingmenu_rlyt_birthday);
addressRlyt = (RelativeLayout)findViewById(R.id.act_slidingmenu_rlyt_address);
nicknameRlyt = (RelativeLayout)findViewById(R.id.act_slidingmenu_rlyt_nickname);
sinatureRlyt = (RelativeLayout)findViewById(R.id.act_slidingmenu_rlyt_signature);
introduceRlyt = (RelativeLayout)findViewById(R.id.act_slidingmenu_rlyt_introduce);
sinatureTv = (TextView)findViewById(R.id.act_slidingmenu_tv_signature_value);
nickNameTv = (TextView)findViewById(R.id.act_slidingmenu_tv_nickname_value);
sexTv = (TextView)findViewById(R.id.act_slidingmenu_tv_sex_value);
brithdayTv = (TextView)findViewById(R.id.act_slidingmenu_tv_birthday_value);
addressTv = (TextView)findViewById(R.id.act_slidingmenu_tv_address_value);
introduceTv = (TextView)findViewById(R.id.act_slidingmenu_tv_introduce_value);
accountTv = (TextView)findViewById(R.id.act_slidingmenu_tv_email_value);
mCircleImageView = (CircleImageView)findViewById(R.id.act_slidingmenu_modify_info_avatar);
setListener();
}
private void setListener() {
sexRlyt.setOnClickListener(new LayoutListener());
birthdayRlyt.setOnClickListener(new LayoutListener());
addressRlyt.setOnClickListener(new LayoutListener());
nicknameRlyt.setOnClickListener(new LayoutListener());
sinatureRlyt.setOnClickListener(new LayoutListener());
introduceRlyt.setOnClickListener(new LayoutListener());
mCircleImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(UserInfoEditActivity.this, UploadImageActivity.class);
startActivity(intent);
}
});
init();
}
@Override
protected void onResume() {
findid();
super.onResume();
}
private void init() {
if(ResponseList.MyInfoMap.get("Us_Sinature")!=null){
sinatureTv.setText(ResponseList.MyInfoMap.get("Us_Sinature").toString().trim());
}
if(ResponseList.MyInfoMap.get("Us_Nickname")!=null){
nickNameTv.setText(ResponseList.MyInfoMap.get("Us_Nickname").toString().trim());
}
if(!ResponseList.MyInfoMap.get("Us_Sex").equals(null)&&!ResponseList.MyInfoMap.get("Us_Sex").equals("null")&&!ResponseList.MyInfoMap.get("Us_Sex").equals("")){
switch (Integer.valueOf(ResponseList.MyInfoMap.get("Us_Sex").toString().trim())) {
case 0:
sexTv.setText("女");
break;
case 1:
sexTv.setText("男");
break;
default:
break;
}
}
if(ResponseList.MyInfoMap.get("Us_Birthday")!=null){
brithdayTv.setText(ResponseList.MyInfoMap.get("Us_Birthday").toString().trim().split("T")[0]);
}
if(ResponseList.MyInfoMap.get("Us_Addresss")!=null){
addressTv.setText(ResponseList.MyInfoMap.get("Us_Addresss").toString().trim());
}
if(ResponseList.MyInfoMap.get("Us_Introduce")!=null){
introduceTv.setText(ResponseList.MyInfoMap.get("Us_Introduce").toString().trim());
}
if(ResponseList.MyInfoMap.get("Us_Email")!=null){
accountTv.setText(ResponseList.MyInfoMap.get("Us_Email").toString().trim());
}
}
class LayoutListener implements OnClickListener{
@Override
public void onClick(View v) {
CustomMenu cm = null;
switch (v.getId()) {
case R.id.act_slidingmenu_rlyt_sex:
cm = new CustomMenu(UserInfoEditActivity.this);
pop = cm.getMenu(touchListener, keyListener,SEX);
showAmissPop();
pop.setOnDismissListener(new onDismissListener());
break;
case R.id.act_slidingmenu_rlyt_birthday:
cm = new CustomMenu(UserInfoEditActivity.this);
pop = cm.getMenu(touchListener, keyListener,BIRTHDAY);
showAmissPop();
pop.setOnDismissListener(new onDismissListener());
break;
case R.id.act_slidingmenu_rlyt_address:
cm = new CustomMenu(UserInfoEditActivity.this);
pop = cm.getMenu(touchListener, keyListener,ADDRESS);
showAmissPop();
pop.setOnDismissListener(new onDismissListener());
break;
case R.id.act_slidingmenu_rlyt_signature:
Intent intent1 = new Intent();
Bundle mBundle1 = new Bundle();
mBundle1.putInt("editType", 0);
intent1.putExtras(mBundle1);
intent1.setClass(UserInfoEditActivity.this, EditSinatureOrNickName.class);
startActivity(intent1);
break;
case R.id.act_slidingmenu_rlyt_nickname:
Intent intent = new Intent();
Bundle mBundle = new Bundle();
mBundle.putInt("editType", 1);
intent.putExtras(mBundle);
intent.setClass(UserInfoEditActivity.this, EditSinatureOrNickName.class);
startActivity(intent);
break;
case R.id.act_slidingmenu_rlyt_introduce:
Intent intent2 = new Intent();
Bundle mBundle2 = new Bundle();
mBundle2.putInt("editType", 2);
intent2.putExtras(mBundle2);
intent2.setClass(UserInfoEditActivity.this, EditSinatureOrNickName.class);
startActivity(intent2);
break;
default:
break;
}
cm = null;
}
private void showAmissPop(){
if (pop.isShowing()) {
pop.dismiss();
} else {
pop.showAtLocation(findViewById(R.id.act_slidingmenu_tv_introduce),Gravity.BOTTOM, 0, 0);
}
}
}
class onDismissListener implements OnDismissListener{
@Override
public void onDismiss() {
init();
Log.i("onDismiss", "onDismiss");
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// getSupportMenuInflater().inflate(R.menu.menu_userinfoedit, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
/**
* 处理键盘事件
*/
private OnTouchListener touchListener = new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
pop.dismiss();
}
Log.e("touchListener", "touchListener");
return false;
}
};
private OnKeyListener keyListener = new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN
&& keyCode== KeyEvent.KEYCODE_BACK ) {
pop.dismiss();
return true;
}
return false;
}
};
}