Почему диалог прогресса не отображается?

Моя кодировка работает там, где данные сохраняются в базе данных в реальном времени. Однако диалог прогресса не работает. Как поставить кодировку, чтобы показать, что данные не удалось сохранить в базе данных в реальном времени?

private void SaveAccountInformation() {

    loadingBar.setTitle("Registration Account");
    loadingBar.setMessage("Please wait while we are registering you in our system.");
    loadingBar.show();
    loadingBar.setCanceledOnTouchOutside(true);

    String firstname = RegisterFirstName.getText().toString();
    String lastname = RegisterLastName.getText().toString();

    if (TextUtils.isEmpty(firstname))
        Toast.makeText(RegistrationActivity.this, "Enter your first name.", Toast.LENGTH_SHORT).show();

    else if (TextUtils.isEmpty(lastname))
        Toast.makeText(RegistrationActivity.this, "Last name is required.", Toast.LENGTH_SHORT).show();

    else {
        String userid = databaseUser.push().getKey();
        User user = new User(firstname, lastname);
        databaseUser.child(userid).setValue(user);
        Toast.makeText(RegistrationActivity.this, "Registration has been successful.", Toast.LENGTH_SHORT).show();

        Intent HomeIntent = new Intent(RegistrationActivity.this, home.class);
        HomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        startActivity(HomeIntent);
        finish();
    }

    loadingBar.dismiss();
}

2 ответа

Решение

Насколько я понял о вашей проблеме, вы хотите отследить, правильно ли сохранены данные, и показать тем временем диалог прогресса. Я предполагаю, что вы используете базу данных Firebase и сохраняете значения под конкретным узлом.

Вы могли бы рассмотреть возможность использования функции обратного вызова здесь, я полагаю, при сохранении данных в вашей базе данных Firebase в реальном времени.

Я переписываю код. Обращаем ваше внимание, что код не тестируется и изменяется, если вы получаете какие-либо синтаксические ошибки.

private void SaveAccountInformation() {

    ProgressDialog loadingBar = new ProgressDialog(RegistrationActivity.this);
    loadingBar.setMessage("Please wait while we are registering you in our system.");
    loadingBar.show();
    loadingBar.setCanceledOnTouchOutside(true);

    String firstname = RegisterFirstName.getText().toString();
    String lastname = RegisterLastName.getText().toString();

    if (TextUtils.isEmpty(firstname))
        Toast.makeText(RegistrationActivity.this, "Enter your first name.", Toast.LENGTH_SHORT).show();

    else if (TextUtils.isEmpty(lastname))
        Toast.makeText(RegistrationActivity.this, "Last name is required.", Toast.LENGTH_SHORT).show();

    else {

        String userid = databaseUser.push().getKey();
        User user = new User(firstname, lastname);

        databaseUser.child(userid).setValue(user)
            .addOnSuccessListener(new OnSuccessListener<Void>() {
                @Override
                public void onSuccess(Void aVoid) {
                    Toast.makeText(RegistrationActivity.this, "Data saved successfully!", Toast.LENGTH_SHORT).show();
                    loadingBar.dismiss();
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Toast.makeText(RegistrationActivity.this, "Failed to save the data", Toast.LENGTH_SHORT).show();
                    loadingBar.dismiss();
                }
            }); 

        Intent HomeIntent = new Intent(RegistrationActivity.this, home.class);
        HomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        startActivity(HomeIntent);
        finish();
    }
}

Надеюсь, это поможет.

 private ProgressDialog  progressDialog = new ProgressDialog(Login.this);

 progressDialog.show();
 progressDialog.setMessage(getResources().getString(R.string.loading));
 progressDialog.setCancelable(false);

 progressDialog.dismiss();//close progressDialog
Другие вопросы по тегам