2012-07-31 90 views
0

我創建了一個應用程序,可以通過單擊按鈕在2個主題(黑白)之間切換。我已經在清單中將默認主題設置爲白色。應用主題後Android保存應用程序狀態

因此,每次關閉並重新啓動應用程序時,主題狀態都不會保存並應用白色主題。

任何人都可以給我一些想法或代碼,如果可能的話,關於如何保存應用程序的狀態,不同的方法來做到這一點?

謝謝。

+0

http://stackoverflow.com/questions/151777/ save-activity-state-in-android – 2012-07-31 13:26:44

回答

2

有一個布爾觸發器,你檢查SharedPreferences。如果布爾值爲true,則將應用程序設置爲白色。如果爲假,黑色。每當用戶更改他/她想要的主題時,請將該布爾值保存在SharedPreferences中。

代碼示例:

在的onCreate():

SharedPreferences mPrefs = getSharedPreferences("THEME", 0); 
boolean theme_boolean = mPrefs.getBoolean("theme_boolean", true); 
if (theme_boolean) { 
    // Set theme to white 
} else { 
    // Set theme to black 
} 

在按鈕的onClick():

if (theme_boolean) { 
    // Set theme to black 
    theme_boolean = false; 
} else { 
    // Set theme to white 
    theme_boolean = true; 
} 
SharedPreferences mPrefs = getSharedPreferences("THEME", 0); 
SharedPreferences.Editor mEditor = mPrefs.edit(); 
mEditor.putBoolean("theme_boolean", theme_boolean).commit(); 
+0

謝謝....我在哪裏將它保存在活動中..例如,我是否將它保存在onPause()或任何其他方法? – crtn 2012-07-31 13:26:16

+0

我爲你添加了一個代碼示例:)。讓我知道這是否有效/如果你有問題。 – Mxyk 2012-07-31 13:28:30

+0

謝謝。有效 :) – crtn 2012-08-01 11:02:47