Así solíamos lanzar una Activity
Intent it = new Intent(MainActivity.this,NormalActivity.class);
it.putExtra("key1","val1");
it.putExtra("key2","val2");
startActivity(it);Lenguaje del código: JavaScript (javascript)
¿Alguna vez has pensado que no todas las Activities las desarrollas tú?
En ese caso, si quieres iniciar otra Activity, tendrás que consultar al desarrollador encargado o revisar la documentación.
Pero ¿no resulta bastante tedioso?
¿Hay alguna mejor solución?
¿Y si delegamos la lógica de lanzamiento de la Activity a otro desarrollador?
Es decir, el creador de cada Activity agrega un método dentro de ella. Los demás desarrolladores llaman a este método para abrir la Activity.
Intent it = new Intent(MainActivity.this,NormalActivity.class);
it.putExtra("site","www.foxdevelop.com");//Lanzar otra Activity desde nuestra propia Activity
//Debemos saber qué datos requiere la otra Activity, así que hay que coordinar con su desarrollador
startActivity(it);Lenguaje del código: JavaScript (javascript)
Vamos a probarlo. Añadimos un método estático en la Activity destino.
//Poner el código de lanzamiento de la Activity dentro de su propia clase
public static void actionStart(Context context, String site, int level)
{
Intent it = new Intent(context,NormalActivity.class);
it.putExtra("site",site);
it.putExtra("level",level);
context.startActivity(it);
}Lenguaje del código: JavaScript (javascript)
NormalActivity.actionStart(MainActivity.this,"www.foxdevelop.com",12);Lenguaje del código: CSS (css)
Una mejor forma de lanzar Activities
Previous: Operaciones sobre actividades