Java 为什么进度对话框不显示?
我的编码工作在数据保存在实时数据库中的地方。然而,进展对话不起作用。如果数据未能保存在实时数据库中,如何进行编码Java 为什么进度对话框不显示?,java,android,firebase-realtime-database,progressdialog,Java,Android,Firebase Realtime Database,Progressdialog,我的编码工作在数据保存在实时数据库中的地方。然而,进展对话不起作用。如果数据未能保存在实时数据库中,如何进行编码 private void SaveAccountInformation() { loadingBar.setTitle("Registration Account"); loadingBar.setMessage("Please wait while we are registering you in our system."); loadingBar.sh
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();
}
据我所知,您希望跟踪数据是否正确保存,同时显示进度对话框。我假设您正在使用Firebase数据库并将值保存在特定节点下
您可以考虑在这里回调函数,我想在您的FielBasic实时数据库中保存数据时。p> 我正在重写代码。请注意,代码未经测试,如果出现语法错误,请进行修改
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 void SaveAccountInformation(){
ProgressDialog loadingBar=新建ProgressDialog(RegistrationActivity.this);
setMessage(“我们正在系统中为您注册,请稍候”);
loadingBar.show();
loadingBar.SetCanceledOnTouchOut(真);
String firstname=RegisterFirstName.getText().toString();
字符串lastname=RegisterLastName.getText().toString();
if(TextUtils.isEmpty(firstname))
Toast.makeText(RegistrationActivity.this,“输入您的名字”,Toast.LENGTH_SHORT.show();
else if(TextUtils.isEmpty(lastname))
Toast.makeText(RegistrationActivity.this,“姓氏是必需的。”,Toast.LENGTH_SHORT.show();
否则{
字符串userid=databaseUser.push().getKey();
User User=新用户(firstname,lastname);
databaseUser.child(userid).setValue(user)
.addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公开作废(作废避免){
Toast.makeText(RegistrationActivity.this,“数据保存成功!”,Toast.LENGTH_SHORT.show();
loadingBar.disclose();
}
})
.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(RegistrationActivity.this,“未能保存数据”,Toast.LENGTH_SHORT.show();
loadingBar.disclose();
}
});
意向HomeIntent=新意向(RegistrationActivity.this,home.class);
HomeIntent.addFlags(Intent.FLAG_活动_新任务| Intent.FLAG_活动_清除任务);
startActivity(家庭意向);
完成();
}
}
希望能有所帮助。我不能在这里分享,因为它太长了……您在哪里初始化了加载栏??进度对话框仅在后台完成作业时显示,并且您正在处理主线程。它正在显示,但您的代码运行速度很快,当您执行任何网络任务时,它将显示,线程和使用根据您的要求哪种类型的操作在使用过程中barThanks先生!我看到了进度对话框,但过了一会儿,它就消失了。
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();
}
}