RecyclerView

RecyclerView es un grupo de vistas para mostrar colecciones; está diseñado para ser un reemplazo más flexible para grupos de vistas anteriores, como ListView y GridView. En esta guía se explica cómo usar y personalizar RecyclerView en aplicaciones de Xamarin.Android.

RecyclerView

Muchas aplicaciones necesitan mostrar colecciones del mismo tipo (como mensajes, contactos, imágenes o canciones). A menudo, esta colección es demasiado grande para caber en la pantalla, por lo que la colección se presenta en una ventana pequeña que puede desplazarse sin problemas por todos los elementos de la colección. RecyclerView es un widget de Android que muestra una colección de elementos de una lista o una cuadrícula, lo que permite al usuario desplazarse por la colección. A continuación se muestra una captura de pantalla de una aplicación de ejemplo que usa RecyclerView para mostrar el contenido de la bandeja de entrada de correo electrónico en una lista de desplazamiento vertical:

Example app using RecyclerView to list inbox messages

RecyclerView ofrece dos características atractivas:

  • Tiene una arquitectura flexible que le permite modificar su comportamiento conectando los componentes que prefiera.

  • Es eficaz con colecciones grandes porque reutiliza las vistas de elementos y requiere el uso de los titulares de vista para almacenar en caché las referencias de vista.

En esta guía se explica cómo usar RecyclerView en aplicaciones de Xamarin.Android; se explica cómo agregar el paquete RecyclerView al proyecto de Xamarin.Android y se describe cómo RecyclerView funcionan en una aplicación típica. Se proporcionan ejemplos de código real para mostrar cómo integrar RecyclerView en la aplicación, cómo implementar el clic en la vista de elementos y cómo actualizar RecyclerView cuándo cambian sus datos subyacentes. En esta guía se da por supuesto que está familiarizado con el desarrollo de Xamarin.Android.

Requisitos

Aunque RecyclerView a menudo está asociado a Android 5.0 Lollipop, se ofrece como biblioteca de soporte técnico: RecyclerView funciona con aplicaciones que tienen como destino el nivel de API 7 (Android 2.1) y versiones posteriores. Se requiere lo siguiente para usar RecyclerView en aplicaciones basadas en Xamarin:

  • Xamarin.Android: Xamarin.Android 4.20 o posterior debe estar instalado y configurado con Visual Studio o Visual Studio para Mac.

  • El proyecto de aplicación debe incluir el paquete Xamarin.Android.Support.v7.RecyclerView . Para obtener más información sobre cómo instalar paquetes NuGet, vea Tutorial: incluir un NuGet en el proyecto.

Información general

RecyclerView se puede considerar como un reemplazo de los widgets ListView y GridView en Android. Al igual que sus predecesores, RecyclerView está diseñado para mostrar un conjunto de datos grande en una ventana pequeña, pero RecyclerView ofrece más opciones de diseño y está mejor optimizado para mostrar colecciones grandes. Si está familiarizado con ListView, hay varias diferencias importantes entre ListView y RecyclerView:

  • RecyclerView es ligeramente más complejo de usar: tiene que escribir más código para usar RecyclerView en comparación con ListView.

  • RecyclerView no proporciona un adaptador predefinido; Debe implementar el código de adaptador que tiene acceso al origen de datos. Sin embargo, Android incluye varios adaptadores predefinidos que funcionan con ListView y GridView.

  • RecyclerView no ofrece un evento de clic de elemento cuando un usuario pulsa un elemento; en su lugar, las clases auxiliares controlan los eventos de clic de elemento. Por el contrario, ListView ofrece un evento de clic de elemento.

  • RecyclerView mejora el rendimiento mediante el reciclaje de vistas y la aplicación del patrón de soporte de vista, lo que elimina las búsquedas innecesarias de recursos de diseño. El uso del patrón de soporte de vista es opcional en ListView.

  • RecyclerView se basa en un diseño modular que facilita la personalización. Por ejemplo, puede conectar una directiva de diseño diferente sin cambios significativos en el código de la aplicación. Por el contrario, ListView es relativamente monolítico en la estructura.

  • RecyclerView incluye animaciones integradas para agregar y quitar elementos. ListView animaciones requieren un esfuerzo adicional por parte del desarrollador de la aplicación.

Secciones

Elementos RecyclerView y funcionalidad

En este tema se explica cómo funcionan juntos, Adapter, LayoutManager y ViewHolder como clases auxiliares para admitir RecyclerView. Proporciona información general de alto nivel de cada una de estas clases auxiliares y explica cómo se usan en la aplicación.

Ejemplo básico de RecyclerView

Este tema se basa en la información proporcionada en Elementos de RecyclerView y funcionalidad proporcionando ejemplos de código reales sobre cómo se implementan los distintos elementos RecyclerView para crear una aplicación de exploración fotográfica real.

Extensión del ejemplo de RecyclerView

En este tema se agrega código adicional a la aplicación de ejemplo presentada en Ejemplo básico de RecyclerView para demostrar cómo controlar eventos de clic de elemento y actualizar RecyclerView cuando cambia el origen de datos subyacente.

Resumen

En esta guía se ha presentado el widget RecyclerView de Android; se ha explicado cómo añadir la biblioteca de ayuda RecyclerView a los proyectos de Xamarin.Android, cómo recicla RecyclerView las vistas, cómo aplica el patrón de soporte de vistas para lograr eficiencia y cómo colaboran las distintas clases de ayuda que componen RecyclerView para mostrar colecciones. Se proporcionó código de ejemplo para demostrar cómo se integra RecyclerView en una aplicación, se explica cómo adaptar directiva de diseño RecyclerView conectando diferentes administradores de diseño y describe cómo controlar eventos de clic de elemento y notificar RecyclerView de los cambios del origen de datos.

Para obtener más información sobre RecyclerView, vea la referencia de la clase RecyclerView.