Cómo guardar el estado de actividad en android?
Hola chicos tengo ColorPicker
en mi aplicación. Cuando establezco el color seleccionado por ColorPicker
en el fondo Activity
, funciona. Pero al reiniciar la aplicación, el color cambia a predeterminado. ¿Cómo guardar el estado de Activity
? ¿Es posible? ¡¡¡Gracias por adelantado!!!
- Posibilidad de lanzamiento de falsos NFC (Near Field Communication)
- ¿Dónde está el archivo de diseño de mi actividad de configuración?
- Cómo conseguir que la actividad se ejecute desde otro proceso utilizando Robotium
- El método getApplicationContext () es indefinido - fragmento de problemas
- GetActivity () es nulo dentro de AlertDialog de un fragmento
- Muestra de ventana incorrecta, no se puede mostrar un diálogo antes de que se cree una actividad o después de que esté oculta
- ¿Actividad sin finalizar?
- Fragmentos - ¿Tienes que usar un Envoltorio de actividad alrededor de un fragmento que comprende toda la Actividad?
- ¿OnClickListener encendido después de onPause?
- Determine si la actividad se adelantó debido a la navegación posterior
- Transformar / Animar vista en Activity1 para ver en Activity2
- Iniciar IntentService de Actividad y actualizar Actividad cuando IntentService finaliza
- ¿Qué podría estar causando este SQLite CursorWindowAllocationException?
Por ejemplo, puedes guardar el color como este (acabo de poner una referencia de color hexadecimal pero puedes cambiarla a lo que quieras):
public void setBackgroundColor() { SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("color", "#FFFFFF"); editor.commit(); }
A continuación, asegúrese de llamar a este método cada vez que carga / recarga:
public void getBackgroundColor() { SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE); if (sharedPreferences.contains("color")) { String myColor = sharedPreferences.getString("color", null); mybackground.setBackgroundColor(Color.parseColor(myColor)); } }
La respuesta de Andy es correcta. Sin embargo, pensé que sería chime en ahorro y preferencias de carga. Estos son métodos universales de Guardar / Cargar para cadenas. Es lo que uso en todas mis actividades. ¡Puede ahorrarle muchos dolores de cabeza en el futuro!
public static String PREFS_NAME = "random_pref"; static public boolean setPreference(Context c, String value, String key) { SharedPreferences settings = c.getSharedPreferences(PREF_NAME, 0); settings = c.getSharedPreferences(PREF_NAME, 0); SharedPreferences.Editor editor = settings.edit(); editor.putString(key, value); return editor.commit(); } static public String getPreference(Context c, String key) { SharedPreferences settings = c.getSharedPreferences(PREF_NAME, 0); settings = c.getSharedPreferences(PREFS_NAME , 0); String value = settings.getString(key, ""); return value; }