2011-07-02 41 views
0

我有一個ProgressDialog正在運行並接受線程句柄完成百分比。當屏幕鎖定,然後解鎖,應用程序返回到應用程序的主屏幕,並不會繼續顯示ProgressDialog。屏幕鎖定後ProgressDialog消除器

如何返回到ProgressDialog上的同一頁?我假設我需要以某種方式保存句柄資源並在onResume上重新創建它,但我不確定如何執行此操作。

謝謝。

回答

0

看來你是在正確的軌道上。假設你有類變量showProgressDialog和myProgress:

@Override 
protected void onResume() { 
    super.onResume(); 
    if(showProgressDialog) 
     { 
     myProgressDialog.show(); 
     myProgressDialog.setProgress(myProgress); 
     } 

} 
+0

當屏幕鎖定時是否重新創建活動?如果是這樣,我不會訪問舊的線程句柄,因此將無法接收進度。謝謝。 – Nick

+0

這取決於。如果操作系統需要內存,你的活動可能會被殺死。所以爲了保存東西,你可以使用http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState%28android.os.Bundle%29和http://developer.android.com/reference /android/app/Activity.html#onRestoreInstanceState%28android.os.Bundle%29 – Emiam

+0

我不相信onSave/RestoreInstanceState將工作,因爲線程處理程序是一個對象。此外,應用程序恢復後,會顯示主頁活動,而不是其中一個帶有ProgressDialog的子頁面。它看起來應用程序只是重新加載。 – Nick