该方法show()
必须从被调用用户界面(UI)螺纹,而doInBackground()
在不同的螺纹,其是主要的原因,运行AsyncTask
被设计。
你必须调用show()
无论是在onProgressUpdate()
或onPostExecute()
。
例如:
class ExampleTask extends AsyncTask<String, String, String> {
// Your onPreExecute method.
@Override
protected String doInBackground(String... params) {
// Your code.
if (condition_is_true) {
this.publishProgress("Show the dialog");
}
return "Result";
}
@Override
protected void onProgressUpdate(String... values) {
super.onProgressUpdate(values);
connectionProgressDialog.dismiss();
downloadSpinnerProgressDialog.show();
}
}