Páginas

domingo, 13 de marzo de 2011

Cambio de pantallas con Android y pase de información

En este artículo vamos a ver como pasar de una pantalla a otro y como pasar información entre ellas.


Cada pantalla que nosotros vemos en Android es difinida con Activity, por lo tanto si queremos pasar de una pantalla a otra, mínimo tenemos que tener definido dos Activity. Para pasar de una a otra vamos a utilizar los Intent. En el ejemplo sacado del blog de Ignacio Iglesias queda claro como pasar de una pantalla a otra y como pasar parámetros entre ellas.


Ignacio Iglesias: Android (III): Transferencia de datos entre dos Ac...


Además de la forma descrita en el enlace anterior, que es con intent.putExtra e intent.getExtra, nos podemos crear una clase del tipo Application, que sea un JavaBean con los atributos que nosotros necesitemos. Antes de cambiar de activity daremos los valores necesarios y en el activity destino los podremos consultar sin problema. Aquí mostramos un trozo de código donde viene como utilizarlo.




MiClaseAplicacion application = (MiClaseAplicacion ) getApplication();
application.setCampo1(this.campo1.getSelectedItem().toString());
application.setCampo2(this.campo2.getText().toString());

Intent intent = new Intent(ActivitySecundaria.class);
startActivity(intent);


Creo recordar, pero no estoy seguro, que en el manifest, tienes que definir la clase MiClaseAplicacion para poderla utilizar en toda la aplicación, sino te da un error. Así es, ya me he vuelto a chocar con este error. Si queremos utilizar una clase para pasarnos información entre Activitys, en el manifest tenemos que incluir el tipo de clase aplicación que vamos a utilizar. Lo podemos hacer modificando el fichero Manifest, yendo a la pestaña aplicación y en el apartado atributos de la aplicación ponemos el nombre de la clase.  


En caso de que no hagamos esta modificación, nos dará un error inesperado al intentar ejecutarlo. 

1 comentario:

  1. Hola donjesusito, no te preocupes por enlazar el post en el tuyo, me alegro que te haya servido!!

    Parecen interesantes tus post de Android también, a ver si les echo un vistazo cuando saque algo de tiempo :P

    Un saludo!!

    ResponderEliminar