Другой слой косвенности:
for i in $(eval echo {1..$END}); do
∶
С появлением 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