Dans un ExpandableListView, comment puis-je montrer une ligne supplémentaire à la fin des résultats de l'enfant?
-
06-09-2019 - |
Question
J'ai créé un ExpandableListAdapter et tout fonctionne correctement. Ce que je voudrais être en mesure de le faire est dans chacun des groupes ajouter un autre type d'enfant à la fin. Je l'ai essayé d'ajouter 1 au nombre de getChildrenCount()
et tester ensuite isLastChild
dans la méthode getChildView()
, mais cela ne semble pas fonctionner.
Si un groupe a trois enfants ce que j'ai travail ressemble à ceci:
Group NormalChild NormalChild NormalChild
Mais je voudrais vraiment quelque chose comme ceci:
Group NormalChild NormalChild NormalChild AlternateChild
L'idée étant que le AlternateChild
pourrait être un lien vers plus d'informations sur le groupe. Des idées?
EDIT:
a addFooterView () qui vous permettra d'ajouter un pied de page à l'ensemble ListView
.. . se demander comment les ajouter aux enfants du ExpandableListView, ou s'il est même possible
La solution
Peut-être que vous pourriez essayer une approche légèrement différente.
Plutôt que d'essayer d'ajouter un élément supplémentaire à la ListView directement, peut-être essayer d'ajouter un objet « AlternateChild » à la source de données sous-jacentes à l'aide d'un drapeau « isAlternateChild » (ou subclassing NormalChild
ou la création d'une interface IChild
que vous étendez avec NormalChild
et AlternateChild
.
Ensuite, à l'intérieur getChildView
vous pouvez vérifier si l'objet affiché dans la vue est normale ou autre et créer ou remplir la vue de type approprié en conséquence.
En ajoutant votre objet supplémentaire aux données sous-jacentes / liste directement, vous pouvez laisser le ExtendedListView faire son travail normalement. En prime, cela signifie que vous pouvez rendre les données de AlternateChild dynamique et facilement faire modifier les données affichées dans la vue en modifiant l'objet correspondant.
Autres conseils
est à mon avis une meilleure répondre
Je suis en train de mettre une barre d'action ci-dessous le dernier enfant de chaque groupe si nécessaire, cela fonctionne très bien pour cela. Depuis la barre d'action n'a rien à voir avec mes données, je ne pouvais pas utiliser le même objet.