成功注册后关闭自定义对话框

时间:2020-06-03 21:56:10

标签: java android

我创建了一个仅包含progressBar的自定义对话框。我想在调用创建ParseUser帐户的方法(即signUpInBackground)时显示此对话框。我还希望在成功注册Parse后自动关闭该对话框。 Fam,我需要有关如何解决此问题的帮助。下面是我的代码的一部分。

public void createParseUserAcc() {

    ParseUser oneTichaUser = new ParseUser();
    oneTichaUser.setUsername(nameEntered);
    oneTichaUser.setEmail(emailEntered);
    oneTichaUser.setPassword(passwordEntered);
    oneTichaUser.put("Phone Number", phonePlusCode);
    oneTichaUser.put("Gender", genderEntered);
    oneTichaUser.put("Country", countryEntered);
    oneTichaUser.put("State of Residence", stateEntered);

    oneTichaUser.signUpInBackground(new SignUpCallback() {
        @Override
        public void done(ParseException e) {
            if (e == null) { // No errors
                Log.i("SignUp", "Successful");

            } else {// There was a signUp Problem
                Log.i("SignUp Issue", String.valueOf(e.getMessage()));
            }
        }
    });
}

 public void moveToNextOnReg(View view) {
    int codeCountry = countryCodePicker.getSelectedCountryCodeAsInt();
    int positionState = stateSpinner.getSelectedItemPosition();

    final boolean emailYes = (Patterns.EMAIL_ADDRESS.matcher(emailEntered).matches()) && (Patterns.PHONE.matcher(phoneEntered).matches());
    final boolean yesGender = genderOptionGroup.getCheckedRadioButtonId() != -1;
    final boolean noGender = genderOptionGroup.getCheckedRadioButtonId() == -1;
    final boolean yesNigeria = codeCountry == 234;
    final boolean yesState = positionState != 0;

    if (emailYes && yesGender) {
        if (yesNigeria) {
            if (yesState) {
                // Everything is right and Nigeria is selected
                Log.i("Button state", "Everything is correct");

                if (deviceIsOnline()) {
                    Log.i("Internet", "Yeepeiii!! We are online");
                    createParseUserAcc();
                    Intent intentNext = new Intent(getApplicationContext(), ToNextActivity.class);
                    startActivity(intentNext);

                } else {
                    Log.i("Internet", "Ooops !!! Device is offline");
                    internetDialogue();
                }

            } else {
                //No state selected in Nigeria as country
                stateDialog();
            }
        } else {
            // Country is not Nigeria
            if (yesState) { // Everything is correct but not Nigeria and  state is picked
                Log.i("Button state", "Everything is correct");

                if (deviceIsOnline()) {
                    Log.i("Internet", "Yeepeiii!! We are online");
                    createParseUserAcc();
                    Intent intentNext = new Intent(getApplicationContext(), ToNextActivity.class);
                    startActivity(intentNext);

                } else {
                    Log.i("Internet", "Ooops !!! Device is offline");
                    internetDialogue();
                }

            } else { // Everything is correct but not Nigeria and state is not picked
                Log.i("Button state", "Everything is correct");
                if (deviceIsOnline()) {
                    Log.i("Internet", "Yeepeiii!! We are online");
                    createParseUserAcc();
                    Intent intentNext = new Intent(getApplicationContext(), ToNextActivity.class);
                    startActivity(intentNext);

                } else {
                    Log.i("Internet", "Ooops !!! Device is offline");
                    internetDialogue();
                }
            }
        }
    } else if (emailYes && noGender) {
        //Gender selection omission
        genderDialog();
    } else if (!emailYes && yesGender) {
        // Email or phone number problem
        nameEmailPhoneDialog();
    }

}

0 个答案:

没有答案