0

私は EditTextPreference を持っていますが、その文字列がいつ共有設定ファイルに保存されるかわかりません。

null 文字列から始めて "Hello" に変更した場合、この更新はいつ保存されますか? 手動で保存する必要がありますか?

4

4 に答える 4

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);
于 2013-07-24T18:11:57.727 に答える
1

EditTextPreference.javaのソースを見ると、 String は setText() メソッドで永続化されています。

そのため、テキストが変更された後、SharedPreferences ファイルにコミットされます。

于 2013-07-24T18:05:52.687 に答える
1

コミットするときは、Editor.commit()またはを呼び出しますEditor.apply()

ドキュメントを見る

于 2013-07-24T18:04:32.807 に答える
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 に答える