2.11.12

Tutorial Android parte 25: Cómo funciona el filtro de un ListView en Android

Un visitante del blog me ha preguntado sobre cómo funciona el filtro que podemos activar en un ListView en Android.

Podéis ver el artículo original donde surgió esta duda y la pregunta en los comentarios en el siguiente enlace:

http://libreyextremo.blogspot.com.es/2012/03/tutorial-android-parte-12-listview-con.html

Os pongo a continuación la pregunta que hacía:

"Pones que con el método setTextFilterEnabled(true) se activa el texto filtrado para este ListView. 'Al hacerlo, cuando se comience a escribir, se filtrarán los valores a mostrar'.

Pero mi duda es, ¿cómo muestro la caja de texto para buscar? Por que así tal cuál, aunque pongas setTextFilterEnabled(true) no tiene uso alguno verdad?"

No hay que implementar un cuadro de texto. Cuando el usuario pulsa en las teclas del teclado, se irán filtrando los resultados por esas teclas seleccionadas. Por ejemplo, si pulsásemos en la “r” aparecerían todos los que continen la letra “r”. Podéis verlo en la pantalla siguiente:



Si pulsamos varias teclas, por ejemplo, la “s” y la “e” aparecerían solo los resultado que contienen “se”. Podéis verlo en la siguiente pantalla:



También puedes personalizar el funcionamiento de este filtro. Implementando la lógica de filtrado. Si es eso lo que buscas te paso el enlace donde puedes encontrar más información sobre cómo hacer esto:

http://stackoverflow.com/questions/1942421/android-what-does-settextfilterenabled-method-do

Un saludo.

Tutorial desarrollado por Grupo Libre y Extremo (Talavera de la Reina – Toledo - Spain).

2 comments:

  1. Hola! Soy el que hizo la pregunta. Muchas gracias por responder, y con una entrada en el blog!! :)

    Sigo pensando que para el usuario de la aplicación seguiría sin tener utilidad, porque le tienes que mostrar el teclado para que pueda hacer el filtrado no? En el emulador se puede hacer porque tenemos el teclado virtual.
    Y por otro lado, un cuadro de texto ayudaría a que sepa qué tiene puesto en cada momento.

    ReplyDelete
    Replies
    1. Hola

      Creo que te podría servir el control AutoCompleteTextView. Te lo enseño en el siguiente enlace:

      http://libreyextremo.blogspot.com.es/2012/11/tutorial-android-parte-26.html

      Un saludo.

      Delete