|
||
|
|
|
|||||||
| Avisos |
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Consulta con preferencias
Tengo unas preferencias donde cambio el color de la toolbar, pero al tener bastantes actividades al querer modificar el codigo tengo que cambiar mogollon de lineas en todas las actividades, la consulta era si se puede crear una clase donde llamar y cargar las preferencias y despues añadir esa clase donde vayan las preferencias en cada actividad?
Tengo una clase "PrefSet" donde edito y llamo los colores y este es el codigo que uso en todas las actividades y que quiero unificar en una sola clase. Código:
String b= prefs.getString("bgBarra", "1");
if (b.equals("1")) {
actionBar.setBackgroundDrawable(new ColorDrawable(getResources()
.getColor(PrefSet.azul)));
} else if (b.equals("2")) {
actionBar.setBackgroundDrawable(new ColorDrawable(getResources()
.getColor(PrefSet.verde)));
}
...etc
__________________
|
|
|
|
#2
|
||||
|
||||
|
Creas una clase que hereda de Activity (o AppCompatActivity o lo que sea). Y en el onResume pones el código (en ese punto la Toolbar siempre va a existir)
Después todas tus Activity heredan de esa otra clase, y ya está, cada vez que quieras hacer un cambio lo haces en la clase base y listo. |
| Gracias de parte de: | ||
|
#3
|
||||
|
||||
|
Puedes usar sharedpreferences (clave-->valor)
|
|
#4
|
||||
|
||||
|
Como alternativa a crear una actividad y hacer que las demás extiendan, es tener un método auxiliar en otra clase que se llame por ejemplo void static customizeBar(SharedPreferences prefs, ActionBar bar) y allí tienes el código que cambia la barra acorde a las preferencias sin tener que copiar y pegarlo en mil sitios.
Al método en cuestión lo llamarías en todos los onResume de tus actividades. P.D: No viene al caso, pero yo suelo hacer las comparaciones con Strings al revés, en vez de algo.equals("3") pongo "3".equals(algo) y me ahorro comprobar si algo es null (que en tu caso nunca lo será porque le das un valor por defecto)
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Última edición por mocelet Día 28/03/16 a las 13:03:47. |
| Gracias de parte de: | ||
|
#5
|
||||
|
||||
|
Lo opcion que dice mocelet es tal cual lo que necesito hacer, tal cual lo he hecho y funciona correctamente, gracias
__________________
Última edición por kaiser75 Día 30/03/16 a las 15:27:38. |
|
#6
|
||||
|
||||
|
Aprovecho el post ya que tiene que ver con las preferencias, Hay manera de quitar el titulo de los dialogos de los ListPreference?
__________________
|
![]() |
Estás aquí
|
||||||
|
||||||