我目前正在嘗試保存本地聊天名稱,但只保存最新的首選項。以下是我如何將字符串保存到特定鍵。Sharedpreference只在應用程序重新啓動後保存最新字符串
public void saveSettings(Context context, String key, String value){
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = preferences.edit();
editor.putString(key, value).apply();
這是我如何獲得一個字符串:
public String getString(Context context, String key, String defaultValue){
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
return preferences.getString(key,defaultValue);
}
的問題是,它只會返回上次保存的字符串,按鍵的其餘部分將返回defaultvalue
。例如,我用第一種方法用3個不同的鍵保存3個不同的字符串。當試圖使用getString()
檢索字符串時它只會返回上次保存的密鑰的字符串。
您是否試圖獲取首選項文件並檢查數據是否正在寫入? – Mauker