Android

Escuchar tecla presionada y cambio de texto en EditText de Android

Introducción

Hay una cosa muy simple en Android que al inicio no parece tan fácil de hacer. Se trata de escuchar el evento de una tecla del teclado (valga la redundancia) presionada en un EditText. Algo así como el keyup de JavaScript.

Lo que haremos en este post será ver cómo escuchar el evento de texto cambiado dentro de un EditText en Android. Esto viene de maravilla cuando, por ejemplo, queremos que una acción se realice cada que el usuario introduzca o borre algo de la caja de texto.

Este método se dispara cuando:

  • Pegamos texto
  • Autocompletamos del teclado
  • Escribimos algo con el teclado

Vamos allá.

Detectar tecla presionada en EditText de Android

Primero debemos definir nuestro elemento EditText en el layout y agregarle un id. En mi caso le puse el id editTextBusqueda.

Más tarde lo declaramos en nuestro código de Java:

EditText editTextBusqueda = findViewById(R.id.editTextBusqueda);

Podemos nombrar a la variable como queramos, recordemos que si cambiamos el id en nuestro layout también lo cambiamos en el código al llamar a findViewById.

Ahora al EditText le ponemos un nuevo TextWatcher con el método addTextChangedListener. El código se ve así:

See the gist on github.

En este caso TextWatcher es una interfaz, y por lo tanto debemos sobrescribir sus métodos. No recomiendo cambiar el texto (aunque se puede, como dicen los comentarios), sino que aconsejo únicamente leerlo; pero bueno, eso dependerá de nuestras necesidades.

El método que nos importa es el de afterTextChanged que quiere decir algo como “Después de que el texto haya cambiado”. Ahí nos pasan un Editable que trae la información del texto que tiene el EditText.

Lo convertimos a String con toString y lo guardamos dentro de elNuevoTexto. Ya con eso podemos hacer una búsqueda, llamar a otros métodos o cualquier cosa interesante a programar en Android.

En el código, se muestra el nuevo texto en un Toast .

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Compartir
Publicado por
parzibyte

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

23 horas hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

23 horas hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

1 día hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

1 día hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

5 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

6 días hace

Esta web usa cookies.