0

我有一个简单的等待对话框,我尝试显示。显示工作正常,但关闭不起作用。对话框永远显示。有没有人看到问题?

问候

ProgressDialog waitDialog;
waitDialog=new ProgressDialog(this);
waitDialog.show(this, "wait","wait");
5secondstask();
waitDialog.dismiss();

同样不执行 5secondstaks() 并显示并直接关闭它,它会永远显示。

ProgressDialog waitDialog;
waitDialog=new ProgressDialog(this);
waitDialog.show(this, "wait","wait");
waitDialog.dismiss();
4

1 回答 1

1

这样做。

ProgressDialog waitDialog;
waitDialog = ProgressDialog.show(this, "wait","wait");
5secondstask();
waitDialog.dismiss();

更新说明

在您的情况下不起作用,因为您使用创建的进度waitDialog=new ProgressDialog(this);对话框是由“waitDialog”变量引用的。但是当你调用 show 方法时,它会返回另一个 progressdialog 对象。“waitDialog”变量没有引用它。因为 show() 是静态方法,它返回progressdialog 的新对象。

如果分配对“waitDialog”变量的引用,您的情况也将起作用。

ProgressDialog waitDialog;
waitDialog=new ProgressDialog(this);
waitDialog=waitDialog.show(this, "wait","wait");//UPDATE here to work with your case
5secondstask();
waitDialog.dismiss();
于 2013-08-31T08:45:31.840 回答