package com.partynetwork.iparty.iparty; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; import com.partynetwork.dataprovider.util.StringUtil; import com.partynetwork.iparty.R; import com.partynetwork.myview.mytoast.OkPopup; 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 IpartyPublishPurviewActivity extends Activity { /** * 用来给activityrequest用的识别符 */ public static final int PURVIEW_REQUEST_CODE = 90; public static final String PURVIEW = "purview"; public static final String PASSWORD = "password"; public static final int OPEN = 0; public static final int FRIEND = 1; public static final int INVITE = 2; public static final int PASSWORDS = 3; /** * 公开权限 */ @ViewInject(R.id.open) private TextView open; /** * i好友可见 */ @ViewInject(R.id.ifriend) private TextView friend; /** * 邀请者可见 */ @ViewInject(R.id.invite) private TextView invite; /** * 密码可见 */ @ViewInject(R.id.password) private TextView password; /** * 密码输入框1 */ @ViewInject(R.id.password_et1) private EditText passwordEt1; /** * 密码输入框2 */ @ViewInject(R.id.password_et2) private EditText passwordEt2; /** * 密码的伸缩空间 */ @ViewInject(R.id.password_ll) private LinearLayout body; private List<TextView> tvList = new ArrayList<TextView>(); /** * 公开范围(0:所有;1:邀请的好友可见;2:仅i好友可见;3:密码可见) */ private int purviewPosition; /** 消息提示框 */ private OkPopup mOkPopup; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.iparty_publish_purview); ViewUtils.inject(this); init(); } /** * 初始化数据、控件 */ private void init() { tvList.add(open); tvList.add(friend); tvList.add(invite); tvList.add(password); mOkPopup = new OkPopup(this); } /** * 设置监听 * * @param view */ @OnClick({ R.id.menu_head_left, R.id.menu_head_right, R.id.open, R.id.ifriend, R.id.invite, R.id.password }) public void onClick(View view) { switch (view.getId()) { case R.id.menu_head_left: // 返回 finish(); break; case R.id.menu_head_right: // 完成 Intent intent = new Intent(); intent.putExtra(PURVIEW, purviewPosition); if (purviewPosition == PASSWORDS) { // 判断密码 String pd1 = passwordEt1.getText().toString(); String pd2 = passwordEt2.getText().toString(); if (pd1 == null || pd2 == null || pd1.equals("") || pd2.equals("")) { mOkPopup.setTitle("请输入密码!"); mOkPopup.showAtLocation(invite); return; } if (!pd1.equals(pd2)) { mOkPopup.setTitle("密码不一致!"); mOkPopup.showAtLocation(invite); return; } if (!StringUtil.filterPassword(pd1)) { mOkPopup.setTitle("密码格式不正确!"); mOkPopup.showAtLocation(invite); return; } intent.putExtra(PASSWORD, pd1); } else { intent.putExtra(PASSWORD, ""); } this.setResult(PURVIEW_REQUEST_CODE, intent); finish(); break; case R.id.open: choose(OPEN); break; case R.id.ifriend: choose(FRIEND); break; case R.id.invite: choose(INVITE); break; case R.id.password: choose(PASSWORDS); break; default: break; } } /** * 选择 * * @param position */ private void choose(int position) { purviewPosition = position; for (int i = 0; i < tvList.size(); i++) { if (position == i) { Drawable left = this.getResources().getDrawable( R.drawable.contacts_selected); left.setBounds(0, 0, left.getMinimumWidth(), left.getMinimumHeight()); tvList.get(i).setCompoundDrawables(left, null, null, null); } else { Drawable left = this.getResources().getDrawable( R.drawable.contacts_normal); left.setBounds(0, 0, left.getMinimumWidth(), left.getMinimumHeight()); tvList.get(i).setCompoundDrawables(left, null, null, null); } if (position == PASSWORDS) { body.setVisibility(View.VISIBLE); } else { body.setVisibility(View.GONE); } } } @Override protected void onResume() { StatService.onResume(this); super.onResume(); } @Override protected void onPause() { StatService.onPause(this); super.onPause(); } }