CARDVIEW Y RECYCLERVIEW EN ANDROID
Un CardView es un ViewGroup. Como cualquier otro ViewGroup, puede añadirse a tu
Activity (Actividad) o Fragment (Fragmento) utilizando un archivo XML que define el layout
(maquetado).Para crear una CardView vacía, se debe añadir el siguiente código a tu XML
Layout como se muestra en el siguiente snippet:
Por su parte, Un RecyclerView es un contenedor de elementos en forma de lista al igual
que la clase ListView. Aunque ambos tienen la misma función, este nuevo elemento permite
“reciclar” los ítems que ya no son visibles por el usuario debido al scrolling. Por lo que es
ideal para proyectos que manejan grandes volúmenes de ítems que se actualizan
constantemente, limitando la visibilidad de elementos.
Un RecyclerView está compuesto por un adapter, el cual se encarga de crear
las Views necesarias para cada elemento del RecyclerView, además, está muy unida
al ViewHolder, teniendo que ser indicado en la declaración de la clase.El
método OnCreateViewHolder inicializa el ViewHolder. En la siguiente imagen se muestra el
esquema de funcionamiento de una aplicación que integre cardview y recyclerview
Ejemplo
Crear un cardview que permita por medio de recyclerview mostrar información de tres
personajes
1. Definir las dependencias de cardview y recyclerview
La librería de soporte v7Support Library, permite usar los widgets RecyclerView y CardView
en dispositivos que ejecutan versiones anteriores de Android al añadir las siguientes líneas
a la sección de dependencias (dependencias) en el archivo build.grade del proyecto:
2. Creando el CardView
Un CardView es un ViewGroup. Como cualquier otro ViewGroup, puede añadirse a tu
Activity (Actividad) o Fragment (Fragmento) utilizando un archivo XML que define el layout
(maquetado). Para crear un elemento CardView vacío, se debe crear un XML Layout que
contenga un imageview y dos textview
El CardViewActivity debe tener la siguiente estructura
3. Crear el modelo de datos
Al igual que un ListView, un RecyclerView, necesita un adaptador para acceder a sus datos.
Pero antes de crear una adaptador, vamos a crear los datos con los que podamos trabajar.
Creamos una simple clase para representar una persona y luego escribimos un método
para inicializar una List de objetos Person:
4. Crear un recyclerview
De una manera muy similar al ListView, necesitaremos una fuente de datos,
un ArrayList/List por ejemplo, y un adaptador que será el encargado de leer, procesar e
inflar en la lista. El archivo xml para crear un recycler debe tener la siguiente estructura:
El activity para el recycler debe tener la siguiente estructura
5. Crear el adaptador
Para crear un adaptador que una RecyclerView puede usar, debes extender
RecyclerView.Adapter. Éste adaptador sigue el patrón de diseño view holder,que significa
que define una clase interna que extienda de RecyclerView.ViewHolder. Éste patrón
minimiza el número de llamadas al costoso método findViewById.
El adaptador xml debe tener la siguiente estructura
El archivo RVAdapter por su parte debe tener la siguiente estructura:
Al ejecutar la aplicación se debe cargar el elemento cardview y recyclerview con los
jugadores definidos