0

起動時にデータをロードする必要があるアクティビティがあります。

私は他のいくつかの質問を読みましたが、それらはすべてprogressdialogをasycntaskに渡すことを伴いました(データをロードして完了後に閉じる必要があるこのようなものです.getNewDataメソッドが5つのasynctasksを開始し、それらがすべて完了すると戻ります。

プログレスダイアログが表示されていることを確認する方法を知っている人はいますか? アプリケーションの読み込みが完了するまで、画面は真っ暗のままです。

ProgressDialog pd = ProgressDialog.show(this, "Loading...", "Loading data", true);
dataCommunicator.getNewData(this);
pd.dismiss();
4

1 に答える 1

1

AsyncTask内部で他のスレッドを実行できるメインがある場合がありますdoInBackground()progressDialogこのメインで を表示しAsyncTask onPreExecute()ます。

子全体でアクセスできる int 変数を維持しAsyncTask、子が操作を完了するとその値を更新します。その int が 5 に等しい場合、メインから戻り、 inAsyncTask doInBackground()を閉じます。 progressDialogonPostExecute()

于 2012-06-18T10:20:53.923 に答える