8 различий между RecyclerView и ListView
1. Шаблон ViewHolder
Шаблон, используемый для сокращения вызовов методов findViewById () .
В ListView вы можете легко построить список без использования ViewHolder. Но не в случае с RecyclerView.
2. Адаптер
Оба они являются AdapterViews, да. Работает на основе класса адаптера.
Построить ListView легко, используя адаптеры по умолчанию, такие как ArrayAdapter, CursorAdapter, но RecyclerView предоставляет класс RecyclerView.Adapter, чтобы создать новый пользовательский класс адаптера.
Вы не можете использовать ArrayAdapter или любой другой встроенный адаптер с RecyclerView.
3. Расположение предметов
Я создал Vertical ListView в простом и менее кода. Но что, если нам нужно создать GridView?
RecyclerView использует LayoutManager для упорядочивания своих элементов. Есть 3 класса LayoutManager.
- LinearLayoutManager - помогает создать список линейных типов.
- GridLayoutManager - используется для создания сетки.
- StaggeredGridLayoutManager - используется для создания staggeredgrid .
Анимации
В ListView отсутствуют базовые анимации. Но RecyclerView поставляется с простой анимацией.
делитель
Андроид: делитель и Android: dividerHeight атрибуты или setDivider (), setDividerHeight () позволяет сделать пользовательский делитель в ListView.
с 25.1.0 класс DividerItemDecoration можно использовать для создания простого делителя.
Нажмите События
В RecyclerView отсутствует OnItemClickListener , да, это очень печально. Но они дают больше контроля разработчику, предоставляя RecyclerView.OnItemTouchListener.
Методы уведомления
Вам необходимо вызвать соответствующие методы notify * для выполнения правильной анимации. RecylcerView имеет много методов notify * при сравнении с ListView.