0

我有一个 EditTextPreference,但我不知道该字符串何时保存到 Shared Preferences 文件中。

如果我从一个空字符串开始,并将其更改为“Hello”,此更新何时保存?我必须手动保存吗?

4

4 回答 4

2

我有一个 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);
于 2013-07-24T18:11:57.727 回答
1

当你提交它时,通过调用Editor.commit()or Editor.apply()

请参阅文档

于 2013-07-24T18:04:32.807 回答
1

查看EditTextPreference.java的源代码,String 保留在 setText() 方法中。

因此,它会在文本更改后提交到 SharedPreferences 文件。

于 2013-07-24T18:05:52.687 回答
0

当您编辑您的偏好时,您可以使用以下代码:

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);


Editor edit = sp.edit();
edit.putString("Preference_Label", variable_name);
edit.commit(); // this commits the edit
于 2013-07-24T18:10:42.280 回答