1
我需要從ASyncTask中將值返回給主線程,所以我使用了get()方法,以便主線程等待後臺線程運行。Android ASyncTask在使用get()返回值時不會在onPreExecute()中顯示對話框
time = mFetchServerDate.execute().get();
但是在我的AsyncTask我有預期的時候,不使用get(),它的運作onPreExecute()方法的進度對話框打開,但是當我把它添加回來只是掛的應用程序,顯示幾分之一秒的對話框,然後返回主線程。
@Override
protected void onPreExecute(){
super.onPreExecute();
pd = ProgressDialog.show(mContext, "", "", true, false);
}
當你暫停負責顯示對話框的主線程時,它如何顯示?\ – ngesh 2012-04-04 08:26:51
請不要在UI線程上使用get()。您可以使進度對話框不可取消或禁用ui元素,直到asyncTask完成。 – Renard 2012-04-04 08:28:45
夠公平的,我最終不需要從服務器獲取日期 – 2012-05-25 08:03:11