Imprimir

Para iniciar una Activity desde otra que ya tengamos, necesitamos crear una objeto Intent. Un Intent es un objeto que proporciona un vínculo entre componentes (por ejemplo, entre dos Activities). Se puede interpretar como que indica a la aplicación que intente realizar una determinada operación. Se pueden usar los Intents para varias tareas, pero la más frecuente es para iniciar otra Activity.

El formato de uso del método constructor de objetos Intent que hay que utilizar para iniciar otra Activity es el siguiente:

Intent(Context packageContext, Class<?> cls)

Donde el parámetro packageContext debe ser un objeto Context del paquete de la aplicación. Para realizar la llamada a otra Activity desde la Activity actual, debes usar la referencia this como objeto Context (la clase Activity es una subclase de Context, por lo que puedes usar el objeto this que es de la clase Activity).

Como segundo parámetro se debe indicar el nombre de la clase de la Activity que se quiere iniciar.

Por ejemplo, si se quiere iniciar una Activity declarada en la clase SegundaActivity debes crear el  objeto Intent de la siguiente manera:

Intent intentSegundaActivity = new Intent(this, SegundaActivity.class);

Recuerda que debes importar la clase Intent desde el paquete android.content;

import android.content.Intent;

Para que se realice el inicio de la otra Activity debes usar el método startActivity de la clase Activity, usando como parámetro el nombre de la variable asignado al objeto Intent creado anteriormente.

void startActivity (Intent intent)

Por ejemplo, para el caso anterior, la llamada se debe realizar de la siguiente manera:

startActivity(intentSegundaActivity);

Todo este código que se ha explicado debe incluirse en el bloque de código correspondiente al momento en que se quiera iniciar la Activity. Por ejemplo, puede ser habitual que se quiera iniciar cuando el usuario haga clic en un botón. En ese caso, debes incluir ese código en el método asociado a la propiedad onClick del botón. Por ejemplo, si ese método tiene el nombre onClickBotonOtraActivity y se quiere abrir la Activity declarada en la clase SegundaActivity:

public void onClickBotonOtraActivity(View v) {
    Intent intentSegundaActivity = new Intent(this, SegundaActivity.class);
    startActivity(intentSegundaActivity);
}