Bik*_*iko 4 android android-alertdialog material-dialog
我有一个对话框,每当某些后台进程正在进行时就会出现并显示加载进度栏。然而,我无法忽略它,因为该dismiss() 功能不起作用。在我下面的代码中,该hideLoading()函数应该关闭对话框,但.dismiss()不起作用。请协助。
MainActivity.Java
public class LoginActivity extends AppCompatActivity {
MaterialAlertDialogBuilder progress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
progress = new MaterialAlertDialogBuilder(LoginActivity.this);
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (password_text.getText().length() < 5) {
password_layout.setError(getResources().getString(R.string.valid_short_password));
} else {
showLoading();
}
}
});
}
private void showLoading() {
progress.setView(R.layout.loading);
progress.setCancelable(false);
progress.show();
}
private void hideLoading() {
progress.dismiss();
}
}
Run Code Online (Sandbox Code Playgroud)
小智 8
在您的代码中,“progress”不是一个对话框实例,它是一个 MaterialDialogBuider 实例。您应该通过类似的方式获取 AlertDialog 的实例。
MaterialAlertDialogBuilder builer = new MaterialAlertDialogBuilder(MainActivity.this);
builer.setView(R.layout.loading);
builer.setCancelable(false);
AlertDialog dialog = builder.show();
Run Code Online (Sandbox Code Playgroud)
为了关闭对话框,您可以像这样调用关闭函数。
dialog.dismiss();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6442 次 |
| 最近记录: |