In un ExpandableListView, come posso mostrare una riga aggiuntiva alla fine dei risultati del bambino?
-
06-09-2019 - |
Domanda
Ho creato un ExpandableListAdapter e tutto funziona correttamente. Quello che mi piacerebbe essere in grado di fare è in ciascuno dei gruppi di aggiungere un diverso tipo di bambino fino alla fine. Ho provato ad aggiungere 1 al numero getChildrenCount()
e poi prova isLastChild
nel metodo getChildView()
, ma questo non sembra funzionare.
Se un gruppo ha tre figli quello che ho sguardi di lavoro come questo:
Group NormalChild NormalChild NormalChild
Ma mi piacerebbe molto simile a questa:
Group NormalChild NormalChild NormalChild AlternateChild
L'idea è che il AlternateChild
potrebbe essere un link per maggiori informazioni sul gruppo. Tutte le idee?
Modifica
ha addFooterView () che vi permetterà di aggiungere un piè di pagina a un intero ListView
.. . chiedersi come aggiungerli ai figli del ExpandableListView, o se è persino possibile
Soluzione
Forse si potrebbe provare un approccio leggermente diverso.
Piuttosto che cercare di aggiungere un elemento in più per il ListView direttamente, forse provare ad aggiungere un oggetto 'AlternateChild' all'origine dati sottostante utilizzando bandiera un 'isAlternateChild' (o NormalChild
sottoclassi o la creazione di un'interfaccia IChild
che si estende con NormalChild
e AlternateChild
.
Poi entro getChildView
è possibile controllare per vedere se l'oggetto visualizzato all'interno della vista è normale o alternativo e creare o popolare il View-tipo appropriato di conseguenza.
Con l'aggiunta di vostro oggetto in più per il sottostante i dati / lista direttamente si può lasciare che l'ExtendedListView fare la sua cosa normalmente. Come bonus aggiunte questo significa che è possibile rendere i dati AlternateChild dinamici e facilmente modificare i dati visualizzati nella vista modificando l'oggetto corrispondente.
Altri suggerimenti
A mio parere questo è un rispondere
Stavo cercando di mettere una barra delle operazioni sotto l'ultimo figlio di ciascun gruppo, se necessario, questo funziona molto bello per questo. Dal momento che la barra delle azioni non ha nulla a che fare con i miei dati, non ho potuto utilizzare lo stesso oggetto.