2011-09-13 167 views
0

我有這個列表視圖被填充從互聯網下載的數據。 因此,在onCreate()方法中,我將運行異步任務以下載信息並將其放入列表視圖中。在Android中存儲狀態

我在saveInstanceState()方法中放置了一個布爾值來判斷列表是否被下載,如果用戶從主頁按鈕退出應用程序並返回,這將工作。但是,當用戶通過後退按鈕退出程序時,saveInstanceState()方法不會運行。

我不想再次下載清單,我該如何檢查是否以前下載過?

回答

0

你可以重載Activity.onBackPressed()並在那裏保存你的狀態。

此外,您還可以做

void onPause() { 
    if(isFinishing()) { 
     // save your state. maybe you'd be better off with using preferences (or other things suggested by people here), so you don't need to worry about the instance state. 
    } 
} 
+0

你肯定的是,當應用程序重新啓動時,束將被載入?我不確定它會 – Spidy

+0

嗯,我不確定。我想你必須嘗試一下。順便說一句,我只是有另一個想法,我將在上面的答案。 – Macondo2Seattle