2012-07-18 63 views
1

當我的活動正在關閉時,我將應用程序狀態數據序列化到文件中,以便在應用程序被系統殺死時重新加載狀態。從文件加載AppState時顯示ProgressDialog

這種方法(保存和恢復狀態)工作正常。但是,有時候,當進程被終止時,並且根據要加載的數據量,加載狀態進程至少需要幾秒鐘才能完成。

因此,我無法加載分離線程上的狀態,因爲如果onLoad中沒有數據,我的活動將崩潰。

所以,我想在加載內容時顯示一個進度對話框,但是,確保只有在加載狀態過程之後纔會調用Activity的onLoad方法。

有誰知道我怎麼能做到這一點?非常感謝。

回答

1

嗯..你可以重寫onLoad()函數,然後添加一個布爾值,指出是否顯示對話框。如果顯示對話框(布爾值爲真),不要讓onLoad()做任何事情;否則,照常進行。這樣,一旦對話框被解散,你可以再次設置布爾值爲假,如果onLoad()之後沒有被默認調用,也許你可以手動調用它?這只是一個想法。

換句話說:可以使用AsyncTask顯示對話框。在onPreExecute()方法中,將布爾值設置爲true,在doInBackground()onPostExecute()中執行所有需要的操作,將布爾值設置爲false並調用onLoad()

在旁邊註釋...你的意思是onCreate()onResume()?我其實沒有聽說過onLoad(),除非這是你創建的功能。