Listas de elementos en Android con RecyclerView: Tutorial a fondo
Antonio Leiva

En Android existen varios componentes diferentes para crear listas, pero si hablamos del más recomendado y flexible, entonces nos tenemos que quedar con RecyclerView.

RecyclerView es una librería de Jetpack que nos permite crear listas con los formatos que necesitemos de forma muy flexible, ya que consta de componentes diferentes. Cada uno de ellos se encarga de una tarea muy específica.

Además, para evitar problemas de rendimiento, es capaz de reciclar las vistas que conforman las celdas que se muestran en la pantalla, de tal forma que no se necesitan muchas más celdas de las que están visibles. Cuando una sale de pantalla, se reutiliza para otro elemento que entra.

Cómo usar RecyclerView

En el vídeo de hoy te enseño cómo utilizar el RecyclerView paso a paso:

Partes de un RecyclerView

Dentro del RecyclerView podemos encontrar al menos 5 componentes:

El propio RecyclerView

Es el componente principal que se encarga de utilizar al resto para renderizar las vistas en pantalla de forma adecuada

Adapter

Provee al RecyclerView de las vistas que necesita pintar para cada uno de los componentes, y le indica también cómo utilizar los datos para actualizar la apariencia de la vista.

ViewHolder

Ayuda al Adapter guardando la vista que se va a mostrar. Es realmente el componente que se recicla, y guarda más información extra, como la posición del RecyclerView en la que se encuentra.

LayoutManager

El LayoutManager: identifica la posición de cada una de las celdas dentro del RecyclerView. Hay varios por defecto, pero técnicamente podríamos crearnos el nuestro propio que cubra nuestras necesidades.

Esto segundo es realmente difícil, pero la buena noticia es que la mayoría de los casos se pueden cubrir con los que hay por defecto.

Sobre el LayoutManager haré un artículo aparte.

ItemAnimator

Este componente ayuda a realizar animaciones cuando se producen cambios en los elementos de la lista. Podemos hacer muchas cosas con las animaciones, pero nuevamente no es algo especialmente sencillo.

La realidad es que usando un componente llamado DiffUtil (del que también publicaré un artículo), normalmente no vamos a necesitar tocar nada aquí, a no ser que queramos animaciones muy personalizadas.

Quizá también te interese…

Text en Jetpack Compose: da vida a tus textos

Text en Jetpack Compose: da vida a tus textos

Los textos son una parte imprescindible en cualquier interfaz de usuario, y por tanto es importante saber cómo usarlos y sacarles el máximo partido. https://youtu.be/yu6rxgBEh1Y En Jetpack Compose, el Composable encargado de renderizar texto se llama simplemente Text...

Modifiers: Personaliza cualquier vista en Jetpack Compose

Modifiers: Personaliza cualquier vista en Jetpack Compose

Muchas veces no nos es suficiente con la configuración básica que nos provee una vista, y por tanto vamos a necesitar modificarla para adaptarla a nuestras necesidades. Esto es exactamente para lo que sirven los Modifiers. Es un cajón de sastre que nos da la opción de...

Layouts en Jetpack Compose: Estructura la UI con Box, Column y Row

Layouts en Jetpack Compose: Estructura la UI con Box, Column y Row

Organizar los elementos de UI en la pantalla siempre es una parte importante, y tenemos los layouts en Jetpack Compose que nos van a permitir hacerlo de distintas formas en función de nuestras necesidades. https://youtu.be/xyBkLS5OPtk Si te fijas, en el artículo...

0 comentarios

Enviar un comentario

Los datos personales que proporciones a través de este formulario quedarán registrados en un fichero de Antonio Leiva Gordillo, con el fin de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento de la parte interesada. Si no se acepta, no podrás comentar en este blog. Los datos que proporciona solo se utilizan para evitar el correo no deseado y no se usarán para nada más. Puede ejercer los derechos de acceso, rectificación, cancelación y oposición en contacto@devexperto.com.

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

Acepto la política de privacidad *