2009-06-01 16 views
3

Ich habe eine benutzerdefinierte ExpandableListAdapter erstellt und alles funktioniert einwandfrei. Was ich gerne tun könnte, ist in jeder der Gruppen eine andere Art von Kind am Ende hinzuzufügen. Ich habe versucht, 1 zu der getChildrenCount() Nummer hinzuzufügen und dann isLastChild in der getChildView() Methode zu prüfen, aber das scheint nicht zu funktionieren.Wie kann ich in einer ExpandableListView eine zusätzliche Zeile am Ende der untergeordneten Ergebnisse anzeigen?

Wenn eine Gruppe von drei Kindern, was ich wie folgt aussieht arbeiten:

 
Group 
    NormalChild 
    NormalChild 
    NormalChild 

aber ich würde wirklich so etwas wie:

 
Group 
    NormalChild 
    NormalChild 
    NormalChild 
    AlternateChild 

Die Idee ist, dass die AlternateChild sein könnte ein Link zu mehr Informationen über die Gruppe. Irgendwelche Ideen?

EDIT: ListViewaddFooterView() hat, die eine Fußzeile auf eine ganz ListView hinzufügen können ... fragen sich, wie sie die Kinder des ExpandableListView hinzuzufügen, oder ob es überhaupt möglich ist

Antwort

2

Vielleicht könnten Sie versuchen, ein etwas anderer Ansatz.

Anstatt zu versuchen, ein zusätzliches Element in die Listview direkt hinzuzufügen, versuchen Sie vielleicht das Hinzufügen eines ‚AlternateChild‘ Objekt an die zugrunde liegende Datenquelle eine ‚isAlternateChild‘ Flag (oder Subklassifizieren NormalChild oder die Schaffung eines IChild Schnittstelle, die Sie mit NormalChild erweitern und AlternateChild.

dann innerhalb getChildView können Sie überprüfen, um zu sehen, ob sich das Objekt in der Ansicht angezeigt werden normal oder alternative und erstellen oder füllen Sie die entsprechende view-Typ entsprechend.

Durch das Hinzufügen Ihre persönlichen Objekt an den zugrunde liegenden Daten/Liste direkt können Sie die ExtendedListVi lassen tu das Ding normal. Als zusätzlichen Bonus bedeutet dies, dass Sie die AlternateChild-Daten dynamisieren und Änderungen an den in der Ansicht angezeigten Daten vornehmen können, indem Sie das entsprechende Objekt ändern.

+0

Das ist ziemlich genau das, was ich getan habe. Ich hatte das Gefühl, es hätte einen besseren Weg geben sollen. –

0

Meiner Meinung nach ist dies ein besseres answer

Ich habe versucht, eine Aktionsleiste unter dem letzten Kind jeder Gruppe zu setzen, wenn nötig, auch für die sehr schön funktioniert. Da die Aktionsleiste nichts mit meinen Daten zu tun hat, konnte ich nicht dasselbe Objekt verwenden.

+0

Warum der Downvote? – lpfx