Как я собираюсь захватить изменения CheckBoxPreference в разработку Android?

StackOverflow https://stackoverflow.com/questions/4260841

Вопрос

Я пытаюсь научиться делать живые обои для Android. У меня есть это работает, и теперь я хочу добавить пара предпочтений. Итак, я создал активность предпочтений и последовал за всеми примерами, которые я мог найти.

Я могу захватить ListBoxPreferences просто хорошо, но метод «OnsharedPreferenceChanged» никогда не вызывается, когда флажок был изменен.

Есть ли дополнительный код, который должен быть добавлен для захвата изменения флажков? Есть ли лучший путь для проверки проверок в предпочтениях?

Я ударил голову против этой проблемы в течение двух дней, любая помощь будет очень ценится!

Спасибо!

Это было полезно?

Решение

@Josh - хороший ответ.

Я хотел бы добавить ради полноты, состоит в том, что вы должны установить вещи, поэтому вы регистрируетесь для изменений в методе OnResume () вашего предпочтения и отменить регистрацию в методе OnPause ().

Ответ на этот вопрос Имеет хороший образец кода, взятый из на акциях Android пример программ.

Кроме того, вы также можете зарегистрировать слушателей для каждого из предпочтений в OnCreate () и обрабатывать события на них отдельно.

Другие советы

Вы зарегистрировались, чтобы получить обратные вызовы OnsharedPreferenceChanged?

Добавьте это в метод OnCreate вашего основного вида деятельности (и убедитесь, что реализовать OnsharedPreferenceChanged):

PreferenceManager.getDefaultSharedPreferences(getBaseContext()).registerOnSharedPreferenceChangeListener(this);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top