В ExpandableListView, как я могу показать одну дополнительную строку в конце дочерних результатов?

StackOverflow https://stackoverflow.com/questions/937307

Вопрос

Я создал пользовательский интерфейс Расширяемый список адаптеров и все работает исправно.Что я хотел бы иметь возможность сделать, так это в каждой из групп добавить в конец дочерний элемент другого типа.Я попытался добавить 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 динамическими и легко вносить изменения в данные, отображаемые в представлении, путем изменения соответствующего объекта.

Другие советы

На мой взгляд, это лучше ответ

Я пытался поместить панель действий под последним дочерним элементом каждой группы, если это необходимо, это работает очень хорошо для этого.Поскольку панель действий не имеет ничего общего с моими данными, я не мог использовать тот же объект.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top