Escuchar eventos de clic y de larga duración
Las aplicaciones reconocen y dan respuesta a eventos básicos como clic y pulsaciones prolongadas. Usa de manera basica el atributo XML onClick, para avanzados se requiere de la configuración a través del código. Android cuenta con una interfaz de escucha de eventos, con el fin de recibir una notificación única cuando se producen acciones, a continuación se explica algunos eventos:
●OnClick (): Se llama cuando se pulsa una vista
●OnLongClick (): Se llama cuando la vista está presionada
●OnFocusChange (): Se llama cuando el usuario navega hacia o desde la vista
●OnKey (): Se llama cuando se pulsa o libera una tecla de hardware
●OnTouch (): Se llama cuando se produce un evento táctil
Seguidamente se demostrará la respuesta al evento de clic, así como al evento de larga duración.
Preparación
Se crea un nuevo proyecto en Android Studio y lo llamaremos: PressEvents. Seguidamente se utiliza las opciones predeterminadas de Teléfono y Tableta y seleccione Actividad vacía cuando solicite el Tipo de actividad.
Cómo hacerlo
Para realizar las configuraciones necesarias para recibir eventos básicos de vista es muy simple. En primer lugar crearemos una vista, utilizaremos un botón para nuestro ejemplo, continuando con el proceso estableceremos el Listener de eventos en el método de onCreare() de la actividad.
Pasos
1.Abrir un activity_main.xml y reemplazar el TextView existente en el siguiente botón:
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"/>
2.Ahora entraremos a MainActivity.java y se agrega el siguiente codigo al método onCreate() existente:
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Click",Toast.LENGTH_SHORT).show();}
});
button.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View v) {
Toast.makeText(MainActivity.this,"Long Press",Toast.LENGTH_SHORT).show();
return true;}
});
3.Finalmente ejecutaremos la aplicación en el emulador o dispositivo y realizamos un clic normal y una pulsación prolongadamente.
Cómo funciona
La mayoría de ejemplos que se utilizan en este libro, se configura el listener onClick en XML con el siguiente atributo:
android: onClick=” ”
Observamos que la llamada del método XML onClick requiere la misma forma en la devolución de llamada setOnClickListener .onClick():
Public void onClick (Ver v) { }
Esto se debe a las configuraciones automáticas de la devolución de llamada cuando se usa el atributo XML onClick. Se puede tener múltiples oyentes en una única vista. Como punto final hay que tener en cuenta el método onLongClick () retorna un booleano, esto indica que el evento ha sido manejado
Hay más
El botón se usa para indicar dónde un usuario debe "presionar", existen dos maneras de uso para este evento y es setOnClickListener () o setOnLongClickListener () con cualquier View, incluso un TextView.
Se puede usar la función de autocompletar de Android Studio. Comience escribiendo el siguiente comando:
Button.setOn continuando, presione Ctrl + Barra de Espacio para ver la lista.