С появлением Android Lollipop RecyclerView официально объявлен. RecyclerView намного больше мощный, гибкий и крупный аспект над ListView. Я попытаюсь дать вам подробное представление об этом.
Преимущества
1) ViewHolder Pattern
В ListView, было рекомендовано использовать шаблон ViewHolder, но это никогда не было принуждения. В случае RecyclerView это обязательно, используя класс RecyclerView.ViewHolder. Это одно из основных различий между ListView и RecyclerView.
Это делает вещи немного сложнее в RecyclerView, но многие проблемы, с которыми мы столкнулись в ListView, решаются эффективно.
2) LayoutManager
Это еще одно массовое повышение доведено до RecyclerView. В ListView единственным доступным видом является вертикальный ListView. Нет никакого официального способа даже реализовать горизонтальный ListView.
Теперь с помощью RecyclerView, мы можем иметь
я) LinearLayoutManager - который поддерживает как вертикальные, так и горизонтальные списки,
II) StaggeredLayoutManager - который поддерживает Pinterest, как в шахматном порядке списков,
III) GridLayoutManager - который поддерживает отображение сетки, как показано в приложениях Галерея.
И самое лучшее, что мы можем делать все это динамически, как мы хотим.
3) Пункт Аниматор
ListViews не хватает поддержки хорошей анимации, но RecyclerView приносит совершенно новое измерение к нему. Используя класс RecyclerView.ItemAnimator, анимация представлений становится настолько простой и интуитивно понятной.
4) Пункт Украшение
В случае ListViews, динамически украшающие элементы, такие как добавление границ и делителей никогда не был легким. Но в случае RecyclerView класс RecyclerView.ItemDecorator дает огромный контроль разработчикам, но делает вещи немного более трудоемкими и сложными.
5) OnItemTouchListener
щелкает пункт Перехват на ListView был прост, благодаря своему интерфейсу AdapterView.OnItemClickListener. Но RecyclerView дает гораздо больше возможностей и контроля своим разработчикам RecyclerView.OnItemTouchListener, но это немного усложняет работу разработчика.
Недостатки
I) Это путь более сложный, чем в списке.
ii) Для начинающих может потребоваться много времени, чтобы полностью понять RecyclerView.
iii) Он может излишне затруднить жизнь кодирования.
IV) Вам нужно будет тратить гораздо больше времени, чем вы когда-либо необходимо для ListView
все эти функции теперь вне поля зрения, см http://www.grokkingandroid.com/first-glance -androids-recyclerview/ – pskink