2011-12-07 26 views
6

Llamo a startActivity para pasar datos de una actividad a otra usando el contexto de una actividad en una clase externa.startActivity crear una nueva instancia de Activity cada vez

Este es un ejemplo de cómo creo la intención de ser enviado:

public static Intent createSearchIntent(Context context, Class<?> cls) { 
    Intent i = new Intent(ACTION_SEARCH, null, context, cls); 
    return i; 
} 

Así es como el comienzo de una actividad:

mContext.startActivity(mIntent); 

EDIT: Lo siento, estaba equivocado en lo que pasa. La actividad no se destruye cuando llamo a startActivity, sin embargo, la actividad a la que envío el intento siempre tiene su método onCreate llamado, así que supongo que se está creando una nueva instancia de la actividad en lugar de volver al estado paused/stopped.

¿Cómo podría cambiarlo para poder volver a la Actividad pausada/detenida?

+1

No debería terminar su actividad a menos que el sistema tenga pocos recursos. Por favor edite su pregunta para incluir su código. –

+0

¿Cómo puedes decir que tu actividad se destruye? viste stacktrace en logcat para esa actividad? – user370305

Respuesta

8

Esto es cuando se necesita usar banderas. Para que una actividad previamente iniciada regrese a la parte superior de la pila, debe agregar la bandera i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); a su intención y luego iniciar esa actividad: startActivity(i) con 'i' como nombre de intención.
Para obtener una lista de otras banderas, haga clic en here.

+0

Esto es exactamente lo que necesitaba, ¡gracias! – ayelder

+0

Gracias. Funcionó para mí –

4

Llamar a la Actividad B desde la Actividad A no destruye por defecto la Actividad A, lo que se ve es la Actividad B mostrada sobre la Actividad A, superposición de pantalla. Puede verificar presionando el botón Back.

Es el ciclo de vida de la actividad: http://developer.android.com/reference/android/app/Activity.html

+0

Lo sentimos, estás en lo cierto. Cambié mi pregunta para reflejar esto. – ayelder

Cuestiones relacionadas