О значении «низкий»: я думаю, что речь идет о производительности, но устройства сегодня лучше, чем устройства, которые были в 2013 году, когда был написан связанный пост, - возможно, вы никогда не столкнетесь с медленным пользовательским интерфейсом с вашим подходом.Конечно, это зависит не только от структуры вашего пользовательского интерфейса, но и от типа данных, которые вы будете отображать (видео или просто текст?), А также от других факторов, например, должно ли устройство выполнять тяжелую работу в фоновом режиме или нет.
RecyclerView
был разработан, чтобы быть «лучшим ListView
», поэтому, если производительность может быть проблемой, то, возможно, это хороший выбор.(Адаптеры для обоих ViewGroup
s могут обрабатывать различные типы View
, но RecyclerView
предлагает лучшее средство для отображения изменений отдельных элементов и настройки анимации изменений, что является еще одним преимуществом)
Как я могу это сделать?
- Имеют различные
View
типы для расширяемых и плоских элементов - Вы можете «вручную» расширить / сжать a
View
(AFAIK ваш единственный выбор при работе с ListView
) с использованием некоторого типа анимации (или Transition
framework), но вы всегда должны ... - Отслеживать расширенное состояниекаждый расширяемый элемент (например, в адаптере) и используйте их в
getView()
соответственно onBindViewHolder()
.