Quels sont les avantages de RecyclerView par rapport à ListView?

je viens de commencer à utiliser RecyclerView et je l'ai vu manquer dans beaucoup de fonctionnalités comme l'en-tête, le pied de page, le diviseur, le sélecteur de liste, maintenant j'ai des doutes sur son utilisation au lieu de ListView.

Quels sont les avantages et les inconvénients de RecyclerView par rapport à ListView? Peut-il gérer des vues plus complexes que ListView ?

J'ai utilisé ListView jusqu'à maintenant et depuis quelques temps, est-il temps de passer à RecyclerView ou est-ce trop tôt maintenant?

26
demandé sur Benjamin W. 2014-10-26 09:12:03

1 réponses

avec L'avènement D'Android Lollipop, le RecyclerView fait son chemin officiellement. Le RecyclerView est beaucoup plus puissant, flexible et une amélioration majeure sur ListView. Je vais essayer de vous donner un aperçu détaillé.

les Avantages

1) Motif Des Visualiseurs

dans un ListView, il a été recommandé d'utiliser le motif des visualiseurs, mais ce n'était jamais une contrainte. Dans le cas de RecyclerView, ceci est obligatoire en utilisant le RecyclerView.ViewHolder classe. C'est l'une des principales différences entre ListView et RecyclerView.

cela rend les choses un peu plus complexes dans RecyclerView mais beaucoup de problèmes que nous avons rencontrés dans ListView sont résolus efficacement.

2) LayoutManager

il s'agit d'une autre amélioration massive apportée à la RecyclerView. Dans un ListView, le seul type de vue disponible est le vertical ListView. Il n'y a même pas de moyen officiel de mettre en œuvre une ListView horizontale.

maintenant, en utilisant un RecyclerView, nous pouvons avoir un

i)LinearLayoutManager - qui supporte les listes verticales et horizontales,

ii) StaggeredLayoutManager - qui supporte Pinterest comme des listes décalées,

iii) GridLayoutManager - qui supporte l'affichage des grilles comme dans les applications Gallery.

et le la meilleure chose est que nous pouvons faire tout cela dynamiquement comme nous le voulons.

3) Article Animateur

les ListViews manquent de support pour les bonnes animations, mais la RecyclerView apporte une toute nouvelle dimension à celle-ci. À l'aide de la RecyclerView.ItemAnimator classe, animer les vues devient tellement facile et intuitif.

4) Élément Décoratif

dans le cas de listes D'écoute, décoration dynamique d'éléments comme l'ajout de bordures ou les diviseurs n'ont jamais été faciles. Mais dans le cas de RecyclerView, le RecyclerView.Itemdécorator la classe donne un contrôle énorme aux développeurs mais rend les choses un peu plus longues et complexes.

5) OnItemTouchListener

la chasse élément clique sur un contrôle ListView est simple, grâce à son AdapterView.OnItemClickListener interface. Mais le RecyclerView donne beaucoup plus de puissance et de contrôle à ses développeurs par le RecyclerView.OnItemTouchListener, mais ça complique un peu les choses pour le développeur.

désavantages

i) C'est beaucoup plus complexe qu'une vue de liste.

ii) cela peut prendre beaucoup de temps pour qu'un débutant comprenne parfaitement une vision du recyclage.

iii) il peut inutilement rendre votre vie de codage difficile.

iv) vous aurez besoin de passer beaucoup plus de temps avec lui que vous n'en avez jamais eu besoin pour un ListView

84
répondu Aritra Roy 2015-07-03 06:26:28