Здесь я немного смущен. Я пытаюсь изменить значение EditTextPreference, но он не обновляется в представлении. (Это в PreferenceActivity)SharedPreferences.Editor не обновляется после первоначальной фиксации
Вот мой код:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.modify_instrument_preferences);
// Set default values
SharedPreferences customSharedPreference = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = customSharedPreference.edit();
modifying = getObjectWithName(); //Some object with a name;
editor.putString("namePref", modifying.getName());
editor.commit();
android.util.Log.d("TEST", "written: "+customSharedPreference.getString("namePref",""));
}
Мои printlns распечатать достоверную информацию, и фиксации() возвращает истину, но при щелчке на EditTextPreference, он отображает старое значение. Если я поворачиваю экран, заставляя onCreate снова запускаться, значение EditTextPreference имеет правильное значение.
Такое недоумение. Почему это изменение не изменяется в пользовательском интерфейсе?
Edit:
Я не знаю, почему выше не работает, но мне удалось изменить это просто выполнив:
EditTextPreference namePref = (EditTextPreference) findPreference("namePref");
namePref.setText("the text");
Это обновленный вид каждый раз.