package com.kaixin.android.activity; import java.io.File; import java.io.IOException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; import java.util.UUID; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView; import com.kaixin.android.KXActivity; import com.kaixin.android.KXApplication; import com.kaixin.android.R; import com.kaixin.android.common.Constants; import com.kaixin.android.common.KaiXinAddress; import com.kaixin.android.result.FriendInfoResult; import com.kaixin.android.utils.ActivityForResultUtil; import com.kaixin.android.utils.CallService; import com.kaixin.android.utils.StringUtil; import com.kaixin.android.utils.TextUtil; import com.kaixin.android.utils.Utils; import com.kaixin.android.view.MyDateTimePickerDialog; import com.kaixin.android.view.MyDateTimePickerDialog.OnDateTimeSetListener; import com.nostra13.universalimageloader.core.ImageLoader; /** * 资料关于类 * * @author gyz * */ public class AboutActivity extends KXActivity{ private Button mBack; private TextView mTitle; private Button mSubmit; private ImageButton mAvatar; private Button mAvatarChange; private EditText mName; private TextView mSignature; private TextView mGender; private TextView mDate; private EditText mTelephone; private EditText mAddress; private ImageView mDateIcon; private ImageView mAddressIcon; private ImageView mTelephoneIcon; private String mUid;// 当前查看的用户Id private FriendInfoResult mResult;// 当前查看的用户的资料数据 public static final String DATEPICKER_TAG = "datepicker"; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.about_activity); findViewById(); setListener(); init(); } private void findViewById() { mBack = (Button) findViewById(R.id.about_back); mTitle = (TextView) findViewById(R.id.about_title); mSubmit = (Button) findViewById(R.id.about_submit); mAvatar = (ImageButton) findViewById(R.id.about_avatar); mAvatarChange = (Button) findViewById(R.id.about_avatar_change); mName = (EditText) findViewById(R.id.about_name); mSignature = (TextView) findViewById(R.id.about_signature); mGender = (TextView) findViewById(R.id.about_gender); mDate = (TextView) findViewById(R.id.about_date); mTelephone = (EditText) findViewById(R.id.edt_telephone); mAddress = (EditText) findViewById(R.id.edt_address); // mConstellation = (TextView) findViewById(R.id.about_constellation); mDateIcon = (ImageView) findViewById(R.id.about_date_icon); mAddressIcon = (ImageView) findViewById(R.id.about_address_icon); mTelephoneIcon = (ImageView) findViewById(R.id.about_telephone_icon); } private void setListener() { mBack.setOnClickListener(new OnClickListener() { public void onClick(View v) { setResult(RESULT_CANCELED); finish();// 关闭当前界面 } }); mAvatarChange.setOnClickListener(new OnClickListener() { public void onClick(View v) { PhotoDialog(); } }); mGender.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { } }); mSubmit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { CallService.modifyUserInfo(mName.getText().toString(), mDate.getText().toString(), mTelephone.getText().toString(), String.valueOf(Utils.getGenderNum(mGender.getText().toString())), mAddress.getText().toString()); Constants.isRefreshUserInfo = true; // KXApplication.getInstance().mMyInfoResult.setName(mName.getText().toString()); //关闭当前界面,并返回更新信息 Intent intent = new Intent(); intent.putExtra("nickname", mName.getText().toString()); setResult(RESULT_OK, intent); finish(); } }); mDate.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Calendar mycalendar = Calendar.getInstance(Locale.CHINA); if(!StringUtil.isNull(mDate.getText().toString())){ DateFormat fmt =new SimpleDateFormat("yyyy-MM-dd"); try { Date date = fmt.parse(mDate.getText().toString()); mycalendar.setTime(date);//为Calendar对象设置时间为生日时间 } catch (ParseException e) { e.printStackTrace(); } }else{ Date mydate = new Date(); // 获取当前日期Date对象 mycalendar.setTime(mydate);//为Calendar对象设置时间为当前日期 } new MyDateTimePickerDialog(AboutActivity.this, mycalendar, new OnDateTimeSetListener() { @Override public void onDateTimeSet(int year, int monthOfYear, int dayOfMonth) { mDate.setText(year + "-" + monthOfYear + "-" + dayOfMonth); } }).show(); } }); } private void init() { mUid = getIntent().getStringExtra("uid");// 接收传递过来的用户ID mResult = (FriendInfoResult)getIntent().getParcelableExtra("result");// 接收传递过来的用资料 // 当Id不存在时为当前登录用户,否则则是其他用户,根据用户的不同,显示不同界面效果 if (mUid == null) { mBack.setText("我的首页"); mTitle.setText("我的资料"); mSubmit.setVisibility(View.VISIBLE); mSubmit.setText("提交"); mAvatarChange.setVisibility(View.VISIBLE); mDateIcon.setVisibility(View.VISIBLE); mAddressIcon.setVisibility(View.VISIBLE); mTelephoneIcon.setVisibility(View.VISIBLE); } else { mBack.setText(mResult.getName()); mTitle.setText(mResult.getName() + "的资料"); mSubmit.setVisibility(View.GONE); mAvatarChange.setVisibility(View.INVISIBLE); mDateIcon.setVisibility(View.GONE); mAddressIcon.setVisibility(View.GONE); mTelephoneIcon.setVisibility(View.GONE); } // 填充界面数据 // mAvatar.setImageBitmap(mKXApplication.getAvatar(mResult.getAvatar())); ImageLoader.getInstance().displayImage(Constants.getImageUrl()+ mResult.getAvatar(), mAvatar); mName.setText(mResult.getName()); String signature = mResult.getSignature(); if(!StringUtil.isNull(signature)){ mSignature.setText(new TextUtil(mKXApplication) .replace(signature)); }else{ mSignature.setText("本人很低调,还没签名!"); } mGender.setText(Utils.getGender(mResult.getGender())); mDate.setText(mResult.getDate()); // mConstellation.setText(mResult.getConstellation()); } private void PhotoDialog() { AlertDialog.Builder builder = new Builder(this); builder.setTitle("上传照片至OOXX"); builder.setItems(new String[] { "拍照上传", "上传手机中的照片" }, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Intent intent = null; switch (which) { case 0: intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File dir = new File(KaiXinAddress.SDCARED_CAMERA); if (!dir.exists()) { dir.mkdirs(); } KXApplication.getInstance().mUploadPhotoPath = KaiXinAddress.SDCARED_CAMERA + UUID.randomUUID().toString(); File file = new File( KXApplication.getInstance().mUploadPhotoPath); if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { } } intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); startActivityForResult( intent, ActivityForResultUtil.REQUESTCODE_UPLOADPHOTO_CAMERA); break; case 1: startActivity(new Intent(AboutActivity.this, PhoneAlbumActivity.class)); break; } } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); builder.create().show(); } public void onBackPressed() { // 关闭当前界面,并返回更新信息 setResult(RESULT_CANCELED); finish(); } }