В ExpandableListView, как я могу показать одну дополнительную строку в конце дочерних результатов?
-
06-09-2019 - |
Вопрос
Я создал пользовательский интерфейс Расширяемый список адаптеров и все работает исправно.Что я хотел бы иметь возможность сделать, так это в каждой из групп добавить в конец дочерний элемент другого типа.Я попытался добавить 1 к getChildrenCount()
число, а затем тестирование isLastChild
в getChildView()
метод, но, похоже, он не работает.
Если в группе трое детей, то моя работа выглядит примерно так:
Group NormalChild NormalChild NormalChild
Но мне бы очень хотелось чего-то подобного:
Group NormalChild NormalChild NormalChild AlternateChild
Идея заключается в том, что AlternateChild
это может быть ссылка на более подробную информацию о группе.Есть какие-нибудь идеи?
Редактировать:
Просмотр списка имеет addFooterView() который позволит вам добавить нижний колонтитул ко всему ListView
...интересно, как добавить их к дочерним элементам ExpandableListView, или если это вообще возможно
Решение
Возможно, вы могли бы попробовать несколько иной подход.
Вместо того, чтобы пытаться напрямую добавить дополнительный элемент в ListView, возможно, попробуйте добавить объект 'AlternateChild' в базовый источник данных, используя флаг 'isAlternateChild' (или подкласс NormalChild
или создание IChild
интерфейс, который вы расширяете с помощью NormalChild
и AlternateChild
.
Затем внутри getChildView
вы можете проверить, является ли объект, отображаемый в представлении, обычным или альтернативным, и соответствующим образом создать или заполнить соответствующий тип представления.
Добавляя свой дополнительный объект непосредственно в базовые данные / список, вы можете позволить ExtendedListView выполнять свою работу в обычном режиме.В качестве дополнительного бонуса это означает, что вы можете сделать данные AlternateChild динамическими и легко вносить изменения в данные, отображаемые в представлении, путем изменения соответствующего объекта.
Другие советы
На мой взгляд, это лучше ответ
Я пытался поместить панель действий под последним дочерним элементом каждой группы, если это необходимо, это работает очень хорошо для этого.Поскольку панель действий не имеет ничего общего с моими данными, я не мог использовать тот же объект.