Pregunta

Estoy tratando de aprender cómo hacer fondos de pantalla en vivo para Android. Tengo que trabajar y ahora quiero añadir un par de preferencias. Por lo tanto, he creado una actividad preferencia y seguido todos los ejemplos que pude encontrar.

puedo capturar ListBoxPreferences muy bien, pero el 'onSharedPreferenceChanged' Nunca método se llama cuando una casilla de verificación ha sido cambiado.

¿Hay código adicional que tiene que ser añadido para capturar cambios de casilla de verificación? ¿Hay una mejor manera de hacer las prácticas casillas de verificación en las preferencias?

He estado golpeando mi cabeza contra este problema durante dos días, cualquier ayuda sería muy apreciada!

Gracias!

¿Fue útil?

Solución

@ Josh -. Buena respuesta

Me gustaría añadir en aras de la exhaustividad es que debe preparar las cosas para que registre los cambios en su método de onResume PreferenceActivity () y anular el registro en el método onPause ().

La respuesta a esta pregunta tiene una muestra bien del código tomado de los programas de ejemplo de Android.

Como alternativa, también se puede registrar detectores para cada una de las preferencias en onCreate de su actividad () y eventos de la manija sobre ellos por separado.

Otros consejos

¿Te has registrado para recibir devoluciones de llamada onSharedPreferenceChanged?

Añadir a este método onCreate de su actividad principal (y asegúrese de implementar onSharedPreferenceChanged):

PreferenceManager.getDefaultSharedPreferences(getBaseContext()).registerOnSharedPreferenceChangeListener(this);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top