martes, 26 de marzo de 2013

Android - Lanzar ventanas por codigo

Hoy veremos como lanzar una Activity por codigo, si lo se es lo mismo que hicimos ayer, pero por codigo?? con lo sencillo rapido y facil que lo hicimos ayudandonos del diseño; esto tiene una razon de ser y es que en versiones anteriores a la 1.6 de Android no existe el evento onClick tal y como lo conocemos, que aunque no creo que desarrollemos muchas aplicaciones pensando en esa version , es bueno conocerlo por si acaso, ademas abra a quien se le halla pasado por la cabeza en lugar de usar el metodo onClick usar el onLongClick que es el que sucede cuando pulsamos durante mas de un segundo, si la memoria no me falla, para este evento y otros muchos no disponemos de interfac, aunque se puede hacer siempre igual y es aqui donde toma cabida esta entrada.

En primer lugar vamos a crear otra vista y otra activity para la nueva vista, la declararemos en el AndroidManifest.xml; todo esto como ya hemos visto en la entrada de ayer, a ver si os acordais ;)
abrir ventanas/activity aqui os dejo el enlace de apollo.

partiendo de que ya tenemos creada la vista, con un texto que distinga a las anteriores, la Activity de esa vista, con el metodo onCreate sobreescrito (override) y asignado a la vista todo ello declarado en el manifest, y un segundo boton en activity_mail.xml el cual ahora programaremos que cuando pulsemos nos lleve a la nueva vista, recordar que esto ya lo vimos ;)

DesdeMainActivity.java declararemos un boton, justo debajo de la declaracion de la clase, quedando algo asi:
public class Asteroides extends Activity {
private Button BtnTerceraVentana;

Esto funciona de manera similar a cualquier otra variable, ahora mismo no hace nada es solo un objeto de un boton pero sin nada asociado, sin funcionalidad alguna.
En el OnCreate le asignaremos el boton que nos interesa en cuestion
BtnTerceraVentana =(Button) findViewById(R.id.Button02);
BtnTerceraVentana.setOnClickListener(new OnClickListener() {
      public void onClick(View view) {
           lanzarVentanaPorCodigo(null);
      }
});
En la primera linea a nuestro boton le asignamos el boton de la vista
En la segunda le damos funcionalidad al evento OnClick, asignandole un "escuchador", esto nos genera la tercera linea, que tan solo es el evento Onclick (casi nada) dentro de los corchetes deberemos escribir lo que queramos que haga, en la entrada anterior vimos como lanzar un activity, te ves capaz de hacerlo solo??

Puedes declarar una funcion, la cual debe declarar un Intent, que llame a la nueva vista y lanzar su activity; o hacer esto mismo directamente en el evento onClick, para gustos los colores, ya ves que en el ejemplo yo llamo a una funcion
Todo el codigo en : http://adf.ly/Ld3kj