浏览代码

[설정][New] 회원 정보 관리 - stack back 시 처리

hyodong.min 7 年之前
父节点
当前提交
4e1709b39e

+ 8 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/CheckBoxAllDriver.java

@@ -74,4 +74,12 @@ public class CheckBoxAllDriver {
     checkAll(isChecked);
   }
 
+  /**
+   * dispose();
+   */
+  public void dispose() {
+    this.allBox = null;
+    boxes = null;
+  }
+
 }

+ 30 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/common/SettingMemberInfoFragment.java

@@ -99,6 +99,8 @@ public class SettingMemberInfoFragment extends FragmentBase<SettingMemberInfoPre
     viewCancel.setOnClickListener(v -> presenter.onClickCancel());
     viewMemberOut.setOnClickListener(v -> presenter.onClickMemberOut());
 
+    checkBoxEmail.setChecked(false);
+    checkBoxSms.setChecked(false);
     checkBoxEmail.setOnClickListener(v -> presenter.onClickAgreeEmail(checkBoxEmail.isChecked()));
     checkBoxSms.setOnClickListener(v -> presenter.onClickAgreeSms(checkBoxSms.isChecked()));
   }
@@ -115,11 +117,37 @@ public class SettingMemberInfoFragment extends FragmentBase<SettingMemberInfoPre
     return new SettingMemberInfoPresenter(getModel(SettingMemberInfoModel.class), this);
   }
 
+  @Override
+  protected void onAfterDestroyView() {
+    if (null != checkBoxAllDriver) {
+      checkBoxAllDriver.dispose();
+      checkBoxAllDriver = null;
+    }
+
+    textName = null;
+    textBirthDate = null;
+    textEmail = null;
+    textPhoneNumber = null;
+    textEmailValidation = null;
+    layoutEditEmail = null;
+    layoutEmail = null;
+    layoutCancel = null;
+    editEmail = null;
+    viewEmailComplete = null;
+    viewEmailRegistration = null;
+    viewEmailEdit = null;
+    viewPhoneNumberReset = null;
+    viewPinReset = null;
+    viewCancel = null;
+    viewMemberOut = null;
+    checkBoxEmail = null;
+    checkBoxSms = null;
+  }
+
   protected void hideKeyboard() {
     SoftKeyboardUtil.hideKeyboard(getActivity());
   }
 
-
   protected void showKeyboard() {
     SoftKeyboardUtil.showKeyboard(getActivity());
   }
@@ -207,6 +235,7 @@ public class SettingMemberInfoFragment extends FragmentBase<SettingMemberInfoPre
     container.removeAllViews();
 
     CheckBox checkBoxAll = findViewById(R.id.agree_check_all);
+    checkBoxAll.setChecked(false);
     checkBoxAllDriver = new CheckBoxAllDriver(checkBoxAll);
 
     checkBoxAll.setOnClickListener(v -> {

+ 3 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/common/SettingMemberInfoPresenter.java

@@ -89,12 +89,14 @@ public class SettingMemberInfoPresenter extends Presenter<SettingMemberInfoModel
       case Event.ERROR:
         if (Event.SETTING_LOAD == event.getInteger()) {
           // 회원 정보 로딩 에러
+
+          showErrorDialog(event.getString(), () -> onBackPressed());
         }
         else if (Event.SETTING_REGISTER_EMAIL == event.getInteger()) {
           // 이메일 등록 에러
           onEmailRegistrationError();
+          showErrorDialog(event.getString(), null);
         }
-        showErrorDialog(event.getString(), null);
         break;
       default:
         break;