¿Por qué deberíamos utilizar a nuestros propios oyentes? | lähde: Maryam Dashti | Octubre de 2020

El oyente (modelo del oyente / observador) está acostumbrado mitener eventos para que uno de los padres transfiera información de forma asincrónica para ejecutar código cuando ocurre un evento que nos ayuda a mover lógica complicada de nuestro código. Este patrón de Java se puede utilizar en muchos casos, como la comunicación de fragmento a actividad, entre dos fragmentos a través de una actividad, entre un adaptador y una actividad, y así sucesivamente en Android. Ya hay varios oyentes instalados en Android, y es muy conocido cuando queremos adjuntar un evento de clic a una vista que se parece al fragmento de código a continuación:

La clave más importante para implementar su propio oyente es interfaz.

Las interfaces se declaran utilizando la palabra clave interface y solo pueden contener firmas de métodos y declaraciones constantes.

La interfaz se puede definir individualmente en un archivo separado para la comunicación entre dos clases, o se puede colocar en una de estas clases. En esta clase queremos llamar a un evento específico y en nuestro ejemplo será un adaptador. Así que definamos la interfaz con los métodos que necesitamos en el oyente, de la siguiente manera:

Como puede ver después de crear la interfaz y su método, que se llama onPhraseClick(int position), He creado una instancia de oyente que se valorará en el método de establecimiento de este oyente (paso 3). En el último punto, llamé al método de interfaz dentro onClick(View v) método de una de mis vistas y pasar la posición del elemento actual dentro del adaptador. Al hacer clic en este elemento, se creará una actividad adicional y esta sección se procesará en la actividad relacionada con este adaptador, como se muestra a continuación:

Implementación OnPhraseClickListener en nuestra actividad allí, se sobrescribirá su método (paso 2) y luego podremos acceder a los parámetros pasados. Por último, pero no menos importante, configure el escucha en una instancia de adaptador.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *