Документы Android говорят:
Виджет RecyclerView - это более продвинутая и гибкая версия ListView. Этот виджет представляет собой контейнер для отображения больших наборов данных, которые можно очень эффективно прокручивать, поддерживая ограниченное количество просмотров. Используйте виджет RecyclerView, если у вас есть коллекции данных, элементы которых изменяются во время выполнения в зависимости от действий пользователя или сетевых событий
На самом деле ListView
может сделать все вышеперечисленное, если эффективность не имеет значения, и мы нашли много проблем, когда мы используем RecyclerView
для замены ListView
:
Для выбора элемента списка не существует onItemClickListener () - решение
Нет делителя между элементами списка - решение
Нет встроенного селектора перекрытия, нет визуальной обратной связи при нажатии на элемент списка - решение
Нет addHeaderView для заголовка списка - решение
Может быть, больше вопросов ...
Поэтому, когда мы используем RecyclerView
для замены ListView
, мы должны сделать много дополнительного кодирования, чтобы достичь того же эффекта, что и ListView
.
ВОПРОС:
- Стоит ли мы заменить
ListView
сRecyclerView
полностью?- если нет, то в каком случае лучше использовать
RecyclerView
вместо этогоListView
, и наоборот?