Hoy mostraré como capturar el click en un botón o vista en Android (TextView, ImageView, etc) todo esto mediante el método de escucha de evento OnClick.
Este métodos nos permite capturar los clicks en determinadas vistas comúnmente botones, para ejecutar ciertas partes de nuestro código fuente y de esta forma realizar las acciones que queramos.
La práctica de hoy será muy simple un botón contador de clicks en Android.
Lo que haremos es agregar el botón el botón en nuestro layout principal y hacer la asociación correspondiente con su variable en Java. Para aquellos que no saben como hacer dicha asociación de elementos XML a variables en Java click aquí.
Lo que haremos es agregar el botón el botón en nuestro layout principal y hacer la asociación correspondiente con su variable en Java. Para aquellos que no saben como hacer dicha asociación de elementos XML a variables en Java click aquí.
Códigos actuales.
Código XML
Código JAVA
package com.example.zasapp2.zasapp2; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.widget.Button; public class ZASApp2MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_zasapp2_main); Button boton1 = (Button)findViewById(R.id.button1); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_zasapp2_main, menu); return true; } }El código actual solo asocia el elemento XML a la variable correspondiente en java, en este caso un boton llamado boton1.
Implementación de onClick
Lo siguiente es implementar el evento setOnClickListener en el botón esto para que dicho botón escuche los clicks que recibe. Esto se hace con el siguiente código.boton1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { } });A los IDE como Andriod Studio o Eclipse facilitan mucho la escritura de este tipo de métodos por el auto-completado, ahora cada vez que el botón sea pulsado este método lo detectará y ejecutará todo el código que este escrito dentro de este, la parte donde escribiremos las acciones a realizar es dentro de las llaves del método onClick que contiene un atributo View llamado view(el nombre puede cambiar puede ser v, arg0, etc).
Bien procedemos a escribir el código contador, es algo muy simple declarar una variable entero fuera del método onClick para que no se reinicie cada vez que se pulsa el botón y dentro del método onClick un autoincremental en 1, también necesitaremos mostrar el resultado en el botón con el método setText(variable); si quieres ver el pequeño tutorial sobre setText click aquí.
Código final JAVA
package com.example.zasapp2.zasapp2; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.View; import android.widget.Button; public class ZASApp2MainActivity extends ActionBarActivity { int clicks = 0; /*Declarado como variable "global" dentro de Activity para ser usada en el metodo onClick esto evitara que la variable se vuelva a cero cada vez que se da click */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_zasapp2_main); final Button boton1 = (Button)findViewById(R.id.button1); boton1.setText("No has pulsado el boton"); boton1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { clicks++; boton1.setText("Has pulsado el boton "+clicks+" veces"); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_zasapp2_main, menu); return true; } }
El botón mostrará inicialmente un mensaje "No has pulsado el botón" pero al pulsar el botón ejecutará el código dentro de onClick y el mensaje cambiará por "Has pulsado el botón N veces".
Los resultados:
A partir de esto se pueden realizar gran cantidad de tareas, al pulsar un botón o elemento en el Layout. No olvides dejar tus dudas y/o comentarios, si te ha gustado y/o servido este tutorial recuerda seguirnos en las redes sociales y compratir con tus amigos.