0

表示しようとする単純な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();
4

1 に答える 1

1

このようにしてください。

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

説明の更新

あなたの場合、使用して作成したprogressdialogwaitDialog=new ProgressDialog(this);は「waitDialog」変数による参照であるため、機能しません。しかし、show メソッドを呼び出すと、progressdialog の別のオブジェクトが返されます。これは「waitDialog」変数によって参照されません。show() は、progressdialog の新しいオブジェクトを返す static メソッドであるためです。

「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 に答える