我需要从 ASyncTask 向主线程返回一个值,所以我使用了 get() 方法,以便主线程等待后台线程运行。
time = mFetchServerDate.execute().get();
但是,在我的 ASyncTask 中,我在 onPreExecute() 方法中打开了一个进度对话框,当我不使用 get() 时它按预期工作,但是当我将它添加回它时,它只会挂起应用程序,显示对话框的一小部分一秒钟然后回到主线程。
@Override
protected void onPreExecute(){
super.onPreExecute();
pd = ProgressDialog.show(mContext, "", "", true, false);
}