如何在执行后台任务时显示ProgressDialog?

时间:2013-09-19 15:03:36

标签: android multithreading android-asynctask progressdialog

我希望在活动前的特定时间显示流程对话框,而在后台执行其他任务。我不想使用asynkTask作为更新该方法内的ui。 请帮忙

1 个答案:

答案 0 :(得分:4)

查看 AsycTasks 方法onPreExecute(...)onPostExecute(...)。 使用第一个显示ProgressDialog,第二个在任务完成时将其关闭。

在您的后台进程开始之前将调用

OnPreExecute()。任务完成后,将调用OnPostExecute()

// the below code is inside your asynctask class

private ProgressDialog pd;

@Override
protected void onPreExecute(){ 
   super.onPreExecute();

   pd = new ProgressDialog(context);
   pd.setMessage("Processing...");
   pd.show();    
}

@Override
protected Void doInBackground(Void... params) {
    // do stuff
    return null;
}

@Override
protected void onPostExecute(Void result){
   super.onPostExecute(result);
   pd.dismiss();
}