С появлением 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, но это немного усложняет работу разработчика.
Простыми словами, RecyclerView гораздо более настраиваемым, чем ListView, и дает своим разработчикам большой контроль и власть.
Поскольку «RecyclerView» намного быстрее и универсален с гораздо лучшим API. Такие вещи, как анимирование добавления или удаления элементов, уже реализованы в «RecyclerView» без необходимости делать что-либо. В этом нет никаких сомнений, бросьте свой «ListView» в корзину, «RecyclerView» здесь, чтобы украсть шоу. –
Вы можете связать диспетчер компоновки с RecyclerView, чтобы они не ограничивались списками вертикальной прокрутки. Это довольно мощная дополнительная функциональность. – Alan
@Alan - Что вы подразумеваете под «не ограничиваясь списками вертикальной прокрутки»? Вы говорите, что Recycle View может выступать в качестве «заполнителя» для Gridviews и ListViews? –