Android: haz algo en actividad cuando cambian las preferencias

Tengo dos clases, CustomerPreferences que extends PreferenceActivity implements OnSharedPreferenceChangeListener y CustomerActivity que extends Activity . En CustomerActivity , calculo algunos valores. En CustomerPreferences hay una ListPreference particular que deseo supervisar. Cuando el usuario ingrese CustomerPreferences -que se realiza a través de una opción de menú en CustomerActivity y cambia ListPreference , luego pulsa el botón Atrás y regresa a CustomerActivity , quiero recalcular mis valores basados ​​en la nueva configuración de preferencias. Si el usuario entra en CustomerPreferences pero no cambia el valor de ListPreference , no quiero recalcular nada al volver a CustomerActivity .

¿Cómo puedo hacer esto?

Creo que necesitaré hacer algo en CustomerPreferences.onSharedPreferenceChanged , así como CustomerPreferences.onBackPressed , probablemente maneje algo en CustomerActivity .

One Solution collect form web for “Android: haz algo en actividad cuando cambian las preferencias”

Puede manejar el cambio en el método onResume () de CustomerActivity. Así que después de que el usuario presione de nuevo, en onResume (), revise sus preferencias y vuelva a calcular sus valores y cambie su representación gráfica basada en los valores calculados.

Claro, a veces esto será innecesario ya que el usuario no puede haber cambiado nada. Mientras sus cálculos no sean demasiado pesados, esto no debería ser motivo de preocupación.

Otra cosa que puedes hacer es establecer un booleano en preferencias compartidas, como preferencesChanged, que se establecerá en true en CustomerPreferences.onSharedPreferenceChanged. A continuación, compruebe preferencesChanged en onResume (). Si es cierto, haga sus recálculos. De lo contrario, no haga nada.

Otra opción es iniciar la actividad de preferencias para un resultado con startActivityForResult (). A continuación, realice los recálculos en onActivityResult () en CustomerActivity. El valor del resultado se establecería en CustomerPreferences.onSharedPreferenceChanged

  • Configuración de usuario guardada en SharedPreferences eliminada o perdida entre recargas de la aplicación
  • ListView y SharedPreferences de opción múltiple
  • Preferencias compartidas vs base de datos
  • Guardar SharedPreferences archivos en directorio personalizado o obtener predeterminado SharedPreferences dir
  • Cuando una aplicación se mueve forzadamente a SD-Card, ¿dónde van SharedPreferences?
  • ¿Cómo puedo almacenar un HashMap <Integer, String> en android usando preferencias compartidas?
  • Quiero borrar el valor de la preferencia compartida
  • Cómo analizar ANR en sharedPreferences
  • Eliminación de preferencias compartidas
  • Android SharedPreferences Conjunto de cadenas: algunos elementos se quitan después de reiniciar la aplicación
  • SharedPreferences no se actualiza
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.