我有一个 EditTextPreference,但我不知道该字符串何时保存到 Shared Preferences 文件中。
如果我从一个空字符串开始,并将其更改为“Hello”,此更新何时保存?我必须手动保存吗?
我有一个 EditTextPreference,但我不知道该字符串何时保存到 Shared Preferences 文件中。
如果我从一个空字符串开始,并将其更改为“Hello”,此更新何时保存?我必须手动保存吗?
我有一个 EditTextPreference,但不知道它何时将该字符串提交到 Shared Preferences 文件
如果您查看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);
当你提交它时,通过调用Editor.commit()
or Editor.apply()
。
请参阅文档
查看EditTextPreference.java的源代码,String 保留在 setText() 方法中。
因此,它会在文本更改后提交到 SharedPreferences 文件。
当您编辑您的偏好时,您可以使用以下代码:
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
Editor edit = sp.edit();
edit.putString("Preference_Label", variable_name);
edit.commit(); // this commits the edit