我创建了一个仅包含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();
}
}