2017-10-05 51 views
0

我有下面顯示的代碼,其中我試圖循環訪問一些存儲的值並將其作爲文本添加到TextView。我的問題是,第三個對象沒有打印,而前兩個。現在,我不知道爲什麼沒有檢索到第三個對象,並且有興趣瞭解它的任何幫助。使用映射循環訪問SharedPreferences

SharedPreferences settings = getSharedPreferences(MySecondActivity.PREFS_NAME, 0); 
int var1, var2, var3; 
var1 = settings.getInt("First key", MySecondActivity.var1); 
var2 = settings.getInt("Second key", MySecondActivity.var2); 
var3 = settings.getInt("Third key", MySecondActivity.var3); 

Map<String, ?> map = settings.getAll(); 
for (Map.Entry<String, ?> entry : map.entrySet()) { 
    TextViewStats.append(entry.getKey() + ": " + entry.getValue().toString() + "\n"); 
} 
+1

告訴你如何存儲的值到喜好 – crgarridos

+0

啊......這個評論讓我看到了我的錯誤。我忘記了保存上一個值:editor.putInt(「First key」,var1); editor.putInt(「Second key」,var2);是我所有的 – Zerato

+0

很高興幫助你,考慮發佈一個幫助其他同樣問題的答案 – crgarridos

回答

0

感謝crgarridos我設法看到我的錯誤。這實際上是一個非常愚蠢的。我剛剛忘記了將值存儲到SharedPreferences中。有了這個代碼MySecondActivity,這是工作:

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putInt("First key", var1); 
    editor.putInt("Second key", var2); 
    editor.putInt("Third key", var3); //<- Hehe... 

    // Commit the edits! 
    editor.commit();