2013-02-20 51 views
0

我看到這個問題的一些帖子,並嘗試解決誰沒有工作。SharedPreferences得到回報八方默認而不是真正的價值

我寫在主要活動:

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);; 
setTheme(sharedPreferences.getInt("selectedTheme", 0)); 

它返回百達0。

我檢查了夾Setting.xml文件內仿真器:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?> 
<map> 
<int name="STheme" value="2131099649" /> 
<int name="selectedTheme" value="2131099649" /> 
<string name="SThemeS">R.style.AppTheme</string> 
</map> 

如u可以看到鍵值 「selectedTheme」 是存在的。

什麼想法?

另一個問題:將我要創建

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);; 

爲使用sharedPreferences每個活動?

回答

2

時SharedPreferences創建的文件的名稱是作爲創造了他的活動。

,所以如果你在創建活動的設置和SharedPreferences你想從其他活動的喜好,你必須spicify SharedPreferences文件的名稱。

,如果你想從你不需要做同樣的活動的偏好。

例如: SharedPreferences 在設置activiy,並從不同勢活性閱讀它創建:

在當前活動中加入這一行 -

SharedPreferences preferences = context.getSharedPreferences("Setting", 
       MODE_PRIVATE) 

,現在你可以拉取數據....

相關問題