gpt4 book ai didi

java - Android制作一个progressDialog ProgressBar Invisible

转载 作者:行者123 更新时间:2023-12-01 13:51:37 25 4
gpt4 key购买 nike

这是我的进度对话框

progressBar = new ProgressDialog(Wallpapers.this);
progressBar.setCancelable(false);
progressBar.setMessage("Downloading " + downloadedFile + ".png");
progressBar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressBar.setProgress(0);
progressBar.setMax(100);
progressBar.setButton(DialogInterface.BUTTON_NEGATIVE, "No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});

progressBar.setButton(DialogInterface.BUTTON_POSITIVE, "Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
progressBar.show();

鉴于我可以通过以下方式强制按钮变为可见不可见消失:

progressBar.getButton(ProgressDialog.BUTTON_POSITIVE).setVisibility(View.INVISIBLE);

我希望能够对 ProgressBar 执行相同的操作,这将为文本提供更多空间来描述任务完成后要按哪个按钮。

但以下是我最好的猜测,它创建了一个 NullPointer

progressBar.getButton(ProgressDialog.STYLE_HORIZONTAL).setVisibility(View.INVISIBLE);

请注意,我不想关闭对话框,只是强制进度条不可见。

如果做不到,那就这样吧,但任何帮助都会很棒

最佳答案

ProgressDialog.STYLE_HORIZONTALProgressDialog.STYLE_SPINNER 不是按钮,也不是 AlertDialog 类中按钮的标识符。

如果您确实想坚持使用 ProgressDialog,您可以通过在对话框中获取 View 来绕过它(例如,通过 getCurrentFocus( 获得焦点的按钮或 View ) )),然后获取 Dialog 的 Root View 并遍历它的 subview ,直到找到 ProgressBar。我不会推荐这个。

更好的选择是创建您自己的布局,其中包含 ProgressDialog,并将其设置为 AlertDialog 的 View setView() 。这样,您就可以为该栏定义自己的 ID,并通过对话框的 findViewById() 方法检索它。

关于java - Android制作一个progressDialog ProgressBar Invisible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19909555/

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