RecyclerView frente a ListView

Resuelto Blaze Tama asked hace 54 años • 15 respuestas

Del desarrollador de Android ( Creación de listas y tarjetas ):

El widget RecyclerView es una versión más avanzada y flexible de ListView.

Vale, suena genial, pero cuando vi esta imagen de ejemplo, me confundí mucho acerca de la diferencia entre estos dos.

ingrese la descripción de la imagen aquí

La imagen de arriba se puede crear fácilmente utilizando ListViewun adaptador personalizado.

Entonces, ¿en qué situación se debería utilizar RecyclerView?

Blaze Tama avatar Jan 01 '70 08:01 Blaze Tama
Aceptado

RecyclerViewse creó como una ListViewmejora, así que sí, puedes crear una lista adjunta con ListViewcontrol, pero usarla RecyclerViewes más fácil porque:

  1. Reutiliza celdas mientras se desplaza hacia arriba/abajo ; esto es posible implementando View Holder en el ListViewadaptador, pero era algo opcional, mientras que en el RecycleViewadaptador es la forma predeterminada de escribir.

  2. Desacopla la lista de su contenedor , para que puedas colocar los elementos de la lista fácilmente en tiempo de ejecución en los diferentes contenedores (linearLayout, gridLayout) con la configuración LayoutManager.

Ejemplo:

mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
//or
mRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
  1. Anima acciones de listas comunes : las animaciones se desacoplan y se delegan a ItemAnimator.

Hay más sobre RecyclerView, pero creo que estos puntos son los principales.

Entonces, para concluir, RecyclerViewse trata de un control más flexible para el manejo de "datos de lista" que sigue patrones de delegación de preocupaciones y se deja solo una tarea: reciclar artículos.

daneejela avatar Mar 05 '2015 19:03 daneejela

Para que las vistas de lista tengan un buen rendimiento, necesitará implementar el patrón de soporte, y eso es fácil de estropear, especialmente cuando desea completar la lista con varios tipos diferentes de vistas.

RecyclerView incorpora este patrón, lo que hace que sea más difícil equivocarse. También es más flexible, lo que facilita el manejo de diferentes diseños, que no son lineales, como una cuadrícula.

CaptRespect avatar Feb 23 '2015 20:02 CaptRespect