Cómo implementar ListView en Android optimizando al máximo el código

La clave aquí es conseguir aislar el código encargado de crear nuestra celda en el Adaptador, logrando así separar las responsabilidades de la vista y del controlador; ya que éste no tiene necesidad de saber qué es exactamente lo que se muestra en la vista, sino solo un objeto. Pero vamos por partes:

Crear la lista en la vista:

Crear y rellenar una lista con los datos de nuestro modelo, en este caso usaremos una Entidad llamada Movie, cuyos únicos atributos son title y description.

Crear el Adaptador de la lista

La parte más importante hasta aquí es el método getView de nuestro Adaptador:

“MovieView” es la clase encargada de alojar los componentes que mostrará nuestra vista. Como veis, el comportamiento de éste método es muy similar a como se suele ver implementado en la mayoría de los ejemplos; sin embargo, de esta manera evitamos rellenar aquí todo los datos que mostrará nuestra celda delegando este comportamiento en otra clase.

Primero crearemos la clase MovieView:

Y ahora creamos nuestro xml con lo que queremos que muestre la celda:

 

Poned mucha atención en esta línea:

com.boletus151.quierover.adapters.MovieView

es la que le indica a la celda de qué “tipo” es.

¡Y esto es todo!

Os dejo unos links en los que podréis leer más cosas acerca de este tema. Este tutorial ha sido sacado a partir de la información de estas páginas:

http://architects.dzone.com/articles/viewholder-considered-harmful

https://www.bignerdranch.com/blog/customizing-android-listview-rows-subclassing/

Leave a Reply

Your email address will not be published. Required fields are marked *