0
我有一個ProgressDialog正在運行並接受線程句柄完成百分比。當屏幕鎖定,然後解鎖,應用程序返回到應用程序的主屏幕,並不會繼續顯示ProgressDialog。屏幕鎖定後ProgressDialog消除器
如何返回到ProgressDialog上的同一頁?我假設我需要以某種方式保存句柄資源並在onResume上重新創建它,但我不確定如何執行此操作。
謝謝。
我有一個ProgressDialog正在運行並接受線程句柄完成百分比。當屏幕鎖定,然後解鎖,應用程序返回到應用程序的主屏幕,並不會繼續顯示ProgressDialog。屏幕鎖定後ProgressDialog消除器
如何返回到ProgressDialog上的同一頁?我假設我需要以某種方式保存句柄資源並在onResume上重新創建它,但我不確定如何執行此操作。
謝謝。
看來你是在正確的軌道上。假設你有類變量showProgressDialog和myProgress:
@Override
protected void onResume() {
super.onResume();
if(showProgressDialog)
{
myProgressDialog.show();
myProgressDialog.setProgress(myProgress);
}
}
當屏幕鎖定時是否重新創建活動?如果是這樣,我不會訪問舊的線程句柄,因此將無法接收進度。謝謝。 – Nick
這取決於。如果操作系統需要內存,你的活動可能會被殺死。所以爲了保存東西,你可以使用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
我不相信onSave/RestoreInstanceState將工作,因爲線程處理程序是一個對象。此外,應用程序恢復後,會顯示主頁活動,而不是其中一個帶有ProgressDialog的子頁面。它看起來應用程序只是重新加載。 – Nick