ExpandableListView используется для разбиения большого списка элементов на группы для упрощения навигации. 2 Это список в виде двухуровневого дерева: первый уровень — группа, а в ней второй — элемент. 2
Для правильного использования ExpandableListView нужно передать адаптеру данные по группам и элементам. 2 Каждая группа представляет собой Map, который содержит атрибуты для каждой группы. 2 Потом все эти Map собираются в List-коллекцию, например ArrayList. 2 В итоге получаются упакованные в один объект группы. 2 Каждый элемент группы также представлен объектом Map. 2 Все Map (элементы) для каждой группы собираются в отдельную коллекцию. 2 Получается, что каждой группе соответствует коллекция с элементами. 2 Далее эти коллекции помещаются в общую коллекцию. 2 В итоге пункты упаковываются в один объект. 2
Для динамического изменения цветов элементов в ExpandableListView можно использовать стили. 5 Для этого нужно задать стиль вида из кода, чтобы изменить его одним щелчком мыши. 5 Также можно переводить любые виды в скрытое состояние и вовремя включать и отключать их в соответствии с требованиями. 5 Например, показывать звёздочку для избранного. 5
ExpandableListView редко используется в составе разметки с другими элементами. 3 Обычно такой список занимает весь экран, поэтому для подобных целей лучше использовать специальный класс ExpandableListViewActivity, который уже содержит в своём составе компонент ExpandableListView. 3