Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.
En este post te mostraré cómo agregar listeners en Android usando el lenguaje Kotlin; como sabes, la sintaxis cambia un poco y por eso al invocar a setOnClickListener o setOnLongClickListener se crean confusiones.
Después de leer este post verás que es realmente sencillo poner listeners con Kotlin, además de que se utiliza menos código.
Comencemos con el ClickListener
. Esta es una interfaz definida en la clase View
. Su código es realmente sencillo:
Así que para agregar un listener en Kotlin usamos algo como lo siguiente:
En este caso la variable vista
es algo obtenido con findViewById
como un botón o campo de texto. Recuerda que dentro del listener se nos pasa una vista de tipo View
la cual recibimos en v
.
Puedes usar una versión simplificada usando una función de una sola línea:
En ese caso tienes la View
en v
.
También existe la versión corta si no vas a usar la vista:
Y aunque parezca que no está disponible, puedes acceder a la vista usando la variable especial it
.
Ahora veamos la interfaz OnLongClickListener
en Kotlin; la misma se encarga de escuchar un click largo. Esta interfaz es distinta porque en su método necesitamos devolver un booleano indicando si consumimos o no el evento.
El código fuente de la interfaz está en View, y se ve así:
Como ves, se debe regresar un booleano indicando si hemos consumido el long click. Pero bueno, para usarlo se hace esto:
Recuerda que puedes acceder a la vista View
a través del parámetro especial it
. En mi caso lo uso así:
Lo estoy usando en conjunto con mi interfaz para el RecyclerView.