package my.project.easyrecharge.activity; import my.project.easyrecharge.F; import my.project.easyrecharge.R; import my.project.easyrecharge.contants.Key; import my.project.easyrecharge.model.BindInfo; import my.project.easyrecharge.view.NewAlertDialog.OnDialogBtnClickListener; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; /** * Account Manager Page * * @author roy * @email onecoders@gmail.com * * @TODO 充值前,先去服务器验证,输入房间号是否存在,存在,则进行绑定 * @TODO 是否绑定,如果绑定,显示解绑;如果未绑定,显示绑定 * @TODO 绑定成功,显示解绑界面;解绑成功,显示绑定页面 */ public class ActBind extends ActBasicInfo { private Button btnBind, btnUnbind; private TextView bindStatus; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.act_bind); init(); } private void init() { initActionBar(); initViews(); } @Override protected void initAbContent() { setAbTitle(R.string.activity_title_bind); } private void initViews() { // basic info View basicInfoView = findViewById(R.id.bind_basic_info); initBasicInfoViews(basicInfoView); } @Override protected void findExtraView() { // bind button btnBind = (Button) findViewById(R.id.btn_bind); // unbind button btnUnbind = (Button) findViewById(R.id.btn_unbind); // bind status bindStatus = (TextView) findViewById(R.id.bind_status); refreshStatus(); } @Override protected void setExtraListener() { btnBind.setOnClickListener(this); btnUnbind.setOnClickListener(this); } @Override public void onClick(View v) { super.onClick(v); switch (v.getId()) { case R.id.btn_bind: doBind(); break; case R.id.btn_unbind: hintUnbind(); break; default: break; } } private void doBind() { checkAvailable(); } private void hintUnbind() { showDialog(R.string.hint_title, R.string.hint_unbind_message, R.string.confirm, R.string.cancel, new OnDialogBtnClickListener() { @Override public void onLeftBtnClick() { doUnbind(); } @Override public void onRightBtnClick() { } }); } private void doUnbind() { F.unbind(); refreshViews(); } @Override protected void doAfterCheckOK(String content) { BindInfo bindInfo = initBindInfo(); F.bind(bindInfo); // 显示绑定成功页面 Bundle bundle = new Bundle(); bundle.putString(Key.BIND_JSON, toJson(bindInfo)); switchActivityAndFinish(ActResultBind.class, bundle); } private BindInfo initBindInfo() { BindInfo bindInfo = new BindInfo(); bindInfo.setSchool(school); bindInfo.setApart(apart); bindInfo.setRoomNum(roomNum); bindInfo.setBind(true); return bindInfo; } private void refreshViews() { refreshViewsAndModels(); refreshStatus(); } private void refreshStatus() { btnUnbind.setVisibility(F.isBind() ? View.VISIBLE : View.GONE); btnBind.setVisibility(F.isBind() ? View.GONE : View.VISIBLE); bindStatus.setText(F.isBind() ? R.string.already_bind : R.string.not_bind); } @Override protected void refreshButtonStatus(boolean basicInfoNotEmpty) { // bind button enabled boolean enabled = !(basicInfoNotEmpty); btnBind.setEnabled(enabled); } }