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

Я создал пользовательский ExpandableListAdapter , и все работает правильно. Что я хотел бы сделать, так это в каждой из групп добавить в конец разные типы детей. Я попытался добавить 1 к номеру getChildrenCount() и затем протестировать isLastChild в методе getChildView(), но, похоже, это не сработало.

Если в группе трое детей, то, что у меня работает, выглядит так:

Group
    NormalChild
    NormalChild
    NormalChild

Но мне бы очень хотелось что-то вроде этого:

Group
    NormalChild
    NormalChild
    NormalChild
    AlternateChild

Идея в том, что AlternateChild может быть ссылкой на дополнительную информацию о группе. Есть идеи?

EDIT: ListView имеет addFooterView () , который позволит вам добавить нижний колонтитул к целому ListView ... интересно, как добавить их в дочерние элементы ExpandableListView или, если это вообще возможно

Ответы [ 2 ]

3 голосов
/ 03 июня 2009

Возможно, вы могли бы попробовать немного другой подход.

Вместо того, чтобы пытаться добавить дополнительный элемент непосредственно в ListView, возможно, попробуйте добавить объект 'AlternateChild' в базовый источник данных, используя флаг 'isAlternateChild' (или создать подкласс NormalChild, или создать интерфейс IChild, который расширить с NormalChild и AlternateChild.

Затем в getChildView вы можете проверить, является ли отображаемый в представлении объект нормальным или альтернативным, и создать или заполнить соответствующий тип представления соответствующим образом.

Добавляя ваш дополнительный объект непосредственно к базовым данным / списку, вы можете позволить ExtendedListView нормально работать. В качестве дополнительного бонуса это означает, что вы можете сделать данные AlternateChild динамическими и легко вносить изменения в данные, отображаемые в представлении, изменяя соответствующий объект.

0 голосов
/ 27 января 2015

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

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

...