Каковы преимущества RecyclerView по сравнению с ListView?

Другой слой косвенности:

for i in $(eval echo {1..$END}); do
    ∶
29
задан Benjamin W. 21 February 2016 в 07:26
поделиться

1 ответ

С появлением Android Lollipop, RecyclerView официально появился. RecyclerView является гораздо более мощным, гибким и значительно улучшенным по сравнению с ListView . Я постараюсь дать вам подробное понимание этого.

Преимущества

1) Шаблон ViewHolder

В ListView рекомендовалось использовать шаблон ViewHolder, но он никогда не был обязательным , В случае RecyclerView это обязательно с использованием класса RecyclerView.ViewHolder . Это одно из основных различий между ListView и RecyclerView.

В RecyclerView все немного сложнее, но многие проблемы, с которыми мы столкнулись в ListView, решаются эффективно.

2) LayoutManager

Это еще одно значительное улучшение, внесенное в RecyclerView. В ListView единственным доступным видом является вертикальный ListView. Не существует официального способа даже реализовать горизонтальный ListView.

Теперь, используя RecyclerView, мы можем получить

i) LinearLayoutManager - который поддерживает как вертикальные, так и горизонтальные списки,

ii) StaggeredLayoutManager - который поддерживает Pinterest как разнесенные списки,

iii) GridLayoutManager - который поддерживает отображение сеток, как видно в приложениях Галереи.

И самое лучшее, что мы можем делать все это динамически, как мы хотим.

3) Item Animator

В ListViews отсутствует поддержка хороших анимаций, но RecyclerView привносит в него совершенно новое измерение. Используя класс RecyclerView.ItemAnimator , анимация представлений становится очень простой и интуитивно понятной.

4) Оформление элементов

В случае ListViews динамическое оформление элементов, таких как добавление границ или разделителей, никогда не было простым. Но в случае с RecyclerView класс RecyclerView.ItemDecorator дает огромный контроль разработчикам, но делает его немного более трудоемким и сложным.

5) OnItemTouchListener

Перехватывать щелчки элементов в ListView было просто благодаря интерфейсу AdapterView.OnItemClickListener . Но RecyclerView дает гораздо больше возможностей и контроля своим разработчикам с помощью RecyclerView.OnItemTouchListener , но это немного усложняет для разработчика.

Недостатки

i) Это намного сложнее, чем представление списка.

ii) Новичку может потребоваться много времени, чтобы полностью понять RecyclerView.

iii) Это может излишне усложнить жизнь программисту.

iv) Вам нужно будет проводить с ним гораздо больше времени, чем когда-либо для ListView

92
ответ дан Aritra Roy 21 February 2016 в 07:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: