我有一个简单的waitdialog,我尝试显示。显示工作正常,但解雇不起作用。对话显示永远。有没有人看到这个问题?
问候
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();
答案 0 :(得分:1)
这样做。
ProgressDialog waitDialog;
waitDialog = ProgressDialog.show(this, "wait","wait");
5secondstask();
waitDialog.dismiss();
更新说明
因为你使用waitDialog=new ProgressDialog(this);
创建的progressdialog是由“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();