Em um ExpandableListView, como posso mostrar uma linha adicional no final dos resultados da criança?
-
06-09-2019 - |
Pergunta
Eu criei um costume ExpandableListAdapter e tudo funciona corretamente. O que eu gostaria de ser capaz de fazer é em cada um dos grupos de adicionar um tipo diferente de criança até o fim. Eu tentei adicionar 1 ao número getChildrenCount()
e, em seguida, testando isLastChild
no método getChildView()
, mas que não parecem funcionar.
Se um grupo tem três filhos que eu tenho olhares de trabalho como este:
Group NormalChild NormalChild NormalChild
Mas eu gostaria realmente algo como isto:
Group NormalChild NormalChild NormalChild AlternateChild
A idéia é que o AlternateChild
poderia ser um link para mais informações sobre o grupo. Todas as idéias?
EDIT:
ListView tem addFooterView () que permitirá que você adicionar um rodapé a um ListView
todo .. . maravilha como adicioná-los para as crianças do ExpandableListView, ou se é mesmo possível
Solução
Talvez você poderia tentar uma abordagem um pouco diferente.
Ao invés de tentar adicionar um item extra para o ListView diretamente, talvez tente adicionar um objeto 'AlternateChild' para a fonte de dados subjacente usando uma bandeira 'isAlternateChild' (ou subclasse NormalChild
ou a criação de uma interface IChild
que você estender com NormalChild
e AlternateChild
.
Então, dentro getChildView
você pode verificar para ver se o objeto que está sendo exibido dentro da visão é normal ou alternativo e criar ou preencher o Ver-tipo adequado em conformidade.
Ao adicionar o objeto extra para os dados subjacentes / list diretamente você pode deixar o ExtendedListView fazer a sua coisa normalmente. Como um bônus adicional Isto significa que você pode fazer a dinâmica de dados AlternateChild e facilmente fazer alterações nos dados exibidos na exibição modificando o objeto correspondente.