¿Cómo guardar un estado de actividad usando guardar estado de instancia?
Frecuentes
Visto 815,608 veces
2703
He estado trabajando en la plataforma Android SDK y no está claro cómo guardar el estado de una aplicación. Entonces, dada esta pequeña remodelación del ejemplo 'Hola, Android':
package com.android.hello;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
private TextView mTextView = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mTextView = new TextView(this);
if (savedInstanceState == null) {
mTextView.setText("Welcome to HelloAndroid!");
} else {
mTextView.setText("Welcome back.");
}
setContentView(mTextView);
}
}
Pensé que sería suficiente para el caso más simple, pero siempre responde con el primer mensaje, sin importar cómo navegue fuera de la aplicación.
Estoy seguro de que la solución es tan simple como anular. onPause
o algo así, pero he estado hurgando en la documentación durante 30 minutos más o menos y no he encontrado nada obvio.
0 Respuestas
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas android android-activity application-state or haz tu propia pregunta.
¿Cuándo es SavedInstanceState == nulo y cuándo no es nulo? - Trojan.ZBOT
Estás destruyendo explícitamente tu actividad, como dijiste, alejándote de ella, por ejemplo, presionando hacia atrás. En realidad, el escenario en el que se usa este 'SavedInstanceState' es cuando Android destruye tu actividad para la recreación. Por ejemplo: si cambia el idioma de su teléfono mientras se ejecuta la actividad (y por lo tanto, es necesario cargar diferentes recursos de su proyecto). Otro escenario muy común es cuando gira su teléfono hacia un lado para que la actividad se vuelva a crear y se muestre en paisaje. - villoren
Para obtener el segundo mensaje, habilite "No mantener actividades" en las opciones de desarrollo. Presiona un botón de inicio y vuelve de los últimos. - Yaroslav Mytkalyk
esto es muy útil developer.android.com/training/basics/actividad-ciclo-de-vida/… - Syed Raza Mehdi
puede hacerlo con: onSaveInstanceState (Bundle SavedInstanceState) - VahidHoseini