如何在活动开始时显示进度对话框



我有一个活动,它可能必须在启动时加载数据。

我读过其他一些问题,它们都涉及将进度对话框传递给 asycntask(例如这个必须加载数据并在完成后关闭它。 对于我的应用程序来说,这不是一个选项,因为方法 getNewData 启动了 5 个异步任务并在它们全部完成后返回。

有人知道我如何确保显示进度对话框吗? ATM 屏幕只是保持黑色,直到应用程序完成加载。

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

您可能有一个主AsyncTask,您可以在其中运行其他线程doInBackground()。显示此主AsyncTask onPreExecute()中的progressDialog

维护一个可以在子AsyncTask中访问的 int 变量,并在子变量完成其操作时更新其值。当该 int 等于 5 时,从主AsyncTask doInBackground()返回并消除 onPostExecute() 中的progressDialog

最新更新