2010-11-23 2 views
0

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

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

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

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

Спасибо!

ответ

0

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

Я хотел бы добавить для полноты то, что вы должны настроить все, чтобы вы регистрировались для изменений в методе onResume() вашего метода PreferenceActivity и отменили регистрацию в методе onPause().

Ответ на this question имеет хороший образец кода, взятый из примеров приложений для Android.

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

0

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

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

PreferenceManager.getDefaultSharedPreferences(getBaseContext()).registerOnSharedPreferenceChangeListener(this); 
+0

Спасибо за предложение. Но я уже это сделал. Внутри метода onSharedPreferenceChanged я делаю это: System.out.println (prefs.getAll(). ToString()); который печатает все ключи и значения SharedPreference. Однако ключ для этого флажка не указан. Поэтому по какой-то причине флажок не прослушивается. Есть идеи? – max 2010-11-23 21:08:27

 Смежные вопросы

  • Нет связанных вопросов^_^