我有一个EditTextPreference,我不知道该字符串何时保存到共享首选项文件。
如果我以空字符串开头,并将其更改为“Hello”,此更新何时保存?我必须手动保存吗?
答案 0 :(得分:2)
我有一个EditTextPreference,不知道它何时提交该字符串 到共享首选项文件
如果您查看EditTextPreference文档,则会在调用setText(String)
方法时保存文本。此方法提交将文本保存到SharedPreferences。在调用该方法之前,首选项永远不会更新。例如......
EditTextPreference mPrefs = ...
//perform any manipulations on the string, not saved until you call setText()
String mText = "2";
mText += " + 2";
mText += " = 4";
// saves "2 + 2 = 4" to SharedPreferences
mPrefs.setText(mText);
答案 1 :(得分:1)
提交时,请致电Editor.commit()
或Editor.apply()
。
答案 2 :(得分:1)
查看EditTextPreference.java的源代码,String保存在setText()方法中。
因此,在文本更改后,它将被提交到SharedPreferences文件。
答案 3 :(得分:0)
编辑您的偏好时,您可以使用以下代码:
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
Editor edit = sp.edit();
edit.putString("Preference_Label", variable_name);
edit.commit(); // this commits the edit