onSharedPreferenceChanged редактировать сохраненное значение? - PullRequest
0 голосов
/ 23 августа 2011

Если в моем PreferenceActivity есть событие onSharedPreferenceChanged, то есть проверка, проверена ли CheckBoxPreference или нет, и установка setEnabled для какого-либо другого предпочтения, изменяется ли фактическое значение другого предпочтения в SharedPreferences или нужно установить их вручную?

Что у меня есть:

 public void onSharedPreferenceChanged(Settings sharedPreferences, String key) 
 {
      CheckBoxPreference cbUpdatesEnabled = (CheckBoxPreference)getPreferenceScreen().findPreference("updatesenabled");

      CheckBoxPreference cbVibrate = (CheckBoxPreference)getPreferenceScreen().findPreference("vibrate");

      cbVibrate.setEnabled(cbUpdatesEnabled.isChecked());
 }

Который переключает, включен или выключен флажок «вибрировать» в пользовательском интерфейсе, но затем я должен также использовать:

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("vibrate", cbUpdatesEnabled.isChecked());
editor.commit();

Или есть какой-то другой способ обновления SharedPreferences? Не похоже, что значение автоматически сохраняется только в зависимости от того, включено оно или нет.

1 Ответ

0 голосов
/ 23 августа 2011

Вам не нужно вручную обновлять значение предпочтения, если вы используете PreferenceActivity.Для получения дополнительной информации проверьте следующие учебные пособия.

Нажмите здесь

Нажмите здесь

...