2012-06-18 57 views
0

我有一個活動,它可能不得不加載數據,當它啓動。如何在活動開始時顯示progressdialog?

我讀過一些其他的問題,他們都參與傳遞progressdialog到asycntask(like this one具有加載數據,並將其關閉它完成後,這是我的應用程序沒有選擇,因爲該方法getNewData啓動5當他們全部完成asynctasks和回報。

任何人有一個想法如何,我可以確保progressdialog顯示?ATM直到應用程序加載完成屏幕的正保持黑色。

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

通過使用AsyncTask。 –

回答

1

您可能有一個主要AsyncTask其中你可以讓其他線程運行寧在doInBackground()。在此主要顯示progressDialogAsyncTaskonPreExecute()

維護一個int變量,可以通過子節點AsyncTask訪問該變量,並在子節點完成其操作時更新其值。當該int等於5時,返回主AsyncTaskdoInBackground()並解除progressDialogonPostExecute()

+0

謝謝,這將解決它。這樣一個顯而易見的解決方案不知道我怎麼可能忽略它。 –