Ну, есть некоторые проблемы в вашем коде.
Этот учебник хорош для создания настроек.
Кроме того, если вы хотите изменить настройки за пределами PreferenceActivity
, вы должны использовать редактор
Например:
Editor e = PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit();
e.putBoolean(Preferences."PREF_SMS_ON", true);
e.commit();
Надеюсь, это поможет
Ответ на ваш комментарий
хорошо, дело в том, что вы используете PreferenceActivity
, который, как показано в документации здесь , используется для отображения визуального стиля предпочтений. Также, как указано здесь , «настройки будут автоматически сохранены в SharedPreferences
при взаимодействии пользователя с ними». У меня сложилось впечатление, что вы хотели изменить предпочтения за пределами PreferenceActivity
(что не так), но вы говорите, что это не то, что вы хотите сделать.
Однако я заметил, что ваш PreferenceActivity
не загружает настройки из файла ресурсов, для этого вам нужно добавить, например, addPreferencesFromResource(R.xml.settings);
в ваш onCreate
. Но, как я уже сказал, ваши предпочтения изменятся автоматически только в том случае, если пользователь напрямую взаимодействует с этим действием.
Я надеюсь, что это помогает.