Con l'avvento di Android Lollipop, RecyclerView ha fatto ufficialmente il suo ingresso. Il RecyclerView è molto più potente, flessibile e un importante miglioramento su ListView. Proverò a darti una visione dettagliata di ciò.
Vantaggi
1) ViewHolder modello
in una lista, è stato suggerito l'uso del modello ViewHolder ma non era mai una costrizione. In caso di RecyclerView, questo è obbligatorio utilizzando la classe RecyclerView.ViewHolder. Questa è una delle principali differenze tra ListView e RecyclerView.
Rende le cose un po 'più complesse in RecyclerView ma un sacco di problemi che abbiamo affrontato in ListView sono risolti in modo efficiente.
2) LayoutManager
Questo è un altro miglioramento massiccia portato al RecyclerView. In un controllo ListView, l'unico tipo di visualizzazione disponibile è il ListView verticale. Non esiste un modo ufficiale per implementare un ListView orizzontale.
Ora utilizzando un RecyclerView, possiamo avere un
i) LinearLayoutManager - che supporta entrambe le liste verticali e orizzontali,
ii) StaggeredLayoutManager - che sostiene Pinterest come liste sfalsati,
iii) GridLayoutManager - che supporta la visualizzazione delle griglie come mostrato nelle app Galleria.
E la cosa migliore è che possiamo fare tutto questo dinamicamente come vogliamo.
3) Animator Articolo
ListViews mancano a sostegno delle buone animazioni, ma il RecyclerView porta una nuova dimensione ad esso. Utilizzando la classe RecyclerView.ItemAnimator, animare le visualizzazioni diventa molto semplice e intuitivo.
4) Decorazioni Articolo
In caso di ListViews, decorando in modo dinamico elementi come l'aggiunta di bordi o divisori è mai stato facile. Ma nel caso di RecyclerView, la classe RecyclerView.ItemDecorator offre un enorme controllo agli sviluppatori, ma rende le cose un po 'più lunghe e complesse.
5) OnItemTouchListener
di intercettazione clic su un elemento ListView era semplice, grazie alla sua interfaccia AdapterView.OnItemClickListener. Ma il RecyclerView dà molto più potere e controllo ai suoi sviluppatori dal RecyclerView.OnItemTouchListener ma complica un po 'le cose per lo sviluppatore.
Svantaggi
i) è molto più complessa di una visualizzazione elenco.
ii) Può essere necessario molto tempo per un principiante per comprendere pienamente un RecyclerView.
iii) Può rendere inutilmente difficile la codifica.
iv) Avrete bisogno di passare molto più tempo con lui quanto mai necessario per una ListView
tutte quelle caratteristiche sono ora al di fuori della vista, vedere http://www.grokkingandroid.com/first-glance -androidi-recyclerview/ – pskink