0

因此,我有一些應用程序,它在啓動時啓動啓動畫面活動並檢查用戶帳戶是否已鏈接到應用程序。如果有人啓動了主要活動並且默默繞過飛濺。如果沒有用戶帳戶,它將下拉一個AsyncTask中的數據庫並要求用戶登錄/創建帳戶。對話框片段在啓動時不顯示

第一次啓動時,應用程序與服務器同步並拉下數據庫。我試圖獲得一個DialogFragment與一個不確定的進度欄顯示,因爲這個數據庫被拉下來。現在在AsyncTaskonPreExecute()中創建DialogFragmentAsyncTask在活動的onStart()方法中執行,我遇到的問題是對話框沒有被繪製到屏幕上。

我有調試日誌記錄,顯示對話框的onCreate()正在執行,同步成功。分別在onPreExecute()onPostExecute()中顯示/解除對話,兩者都在UI線程上執行。我意識到,如果數據庫下載速度很快,這將不會顯示很長的時間,但我甚至沒有看到模擬器中的對話框短暫閃爍。

這可能是一個'問題'的模擬器,其中所有的對話框的框架被跳過,或者我不創建對話框實際上被繪製到屏幕上的點。

回答

0

從您的描述中我看到2個可能的原因:
1.也許你沒有正確顯示DialogFragment,請參閱example
2. AsyncTask在不同的線程中啓動(不在UIThread中),所以如果您需要訪問UTRhread(來自AsuncTask),請嘗試覆蓋onProgressUpdate,請參閱tutorial
希望它是有用的。