gpt4 book ai didi

android - 如何以编程方式关闭 Android Material 警报对话框?

转载 作者:行者123 更新时间:2023-12-05 00:56:28 28 4
gpt4 key购买 nike

每当一些后台进程正在进行时,我都会出现一个对话框,并显示一个正在加载的进度条。但是,由于 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();
}
}

最佳答案

在您的代码中,“progress”不是对话框实例,而是 MaterialDialogBu​​ider 实例。你应该通过这样的方式获得一个 AlertDialog 的实例。

MaterialAlertDialogBuilder builer = new MaterialAlertDialogBuilder(MainActivity.this);
builer.setView(R.layout.loading);
builer.setCancelable(false);
AlertDialog dialog = builder.show();

为了关闭对话框,你可以像这样调用dismiss函数。

dialog.dismiss();

关于android - 如何以编程方式关闭 Android Material 警报对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62290065/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com