Attualmente sto lavorando su un progetto in cui ho bisogno di qualcosa di simile al seguente:multistrato ExpandableListView
- MainGroup 1 (Expandable)
- SubGroup 1 (Expandable)
- SubSubGroup 1 (Expandable)
- Child View
- Child View
- ...
- SubSubGroup 2 (Expandable)
- Child View
- Child View
- ...
- SubGroup 2 (Expandable)
- SubSubGroup 3 (Expandable)
- Child View
- ...
- SubSubGroup 4 (Expandable)
- Child View
- ...
- SubGroup 3 (Expandable)
- Child View
- ...
- MainGroup 2 (Expandable)
- ...
Al massimo sarebbe un ExpandableListView
all'interno di un ExpandableListView
all'interno di un ExpandableListView
- quindi 3 strati di ExpandableListView
:
MainGroup
detiene solo altriExpandableListView
.SubGroup
potrebbe contenere altriExpandableListView
tranne gli ultimi due, che saranno sempre soloChildViews
. (Sto pensando che quei due potrebbero essere semplicemente sostituiti con quello perSubSubGroup
)SubSubGroup
manterrebbero sempreChildViews
.
Il mio problema è che penso di non riuscire a capire i principi di base di come i layout disiano bambini. Ho guardato esempi come this, ma non riesco a capire la funzionalità.
Ho provato semplicemente ad aggiungere un ExpandableListView
come un bambino in un altro - ma qualcosa non funziona come solo il primo elemento interno è visibile se si espande uno dei gruppi esterni. Posso tuttavia impostare manualmente l'altezza del contenitore dei gruppi esterni per renderlo abbastanza grande da mostrare tutti gli elementi all'interno di ExpandableListView
. Per essere ottimale, il calcolo dell'altezza dovrebbe ovviamente essere fatto al volo.
Quindi, per ottenere ad alcune domande più solide:
- Qualcuno può darmi una spiegazione del "ciclo di vita"
ExpandableListView
(da questo voglio dire instantation, riutilizzo di opinioni, espandere/ascoltatori collasso) incluso:- Come e quando viene inviato un avviso
ExpandableListView
a un bambino espanso/compresso? - In che modo lo
ExpandableListView
sa quanto spazio è necessario inserire per tutti i bambini in un contenitore di gruppo?
- Come e quando viene inviato un avviso
- Quanto vantaggio c'è nel usando il
ExpandableListView
per creare quanto sopra, rispetto ad appena il mescolando insieme la mia soluzione utilizzando alcuniLinearLayouts
e alcuniOnClickListeners
?
Modifica
Per la mia ultima domanda potrei notare che non ci può essere ovunque da 1 a 20 + MainGroups
.
la soluzione è stata risolta ..? –
Non ho mai effettivamente risolto il problema mentre ero spostato su un altro progetto, ma la risposta di QuickNick sarebbe stata sicuramente la strada da percorrere. – kaspermoerch