ExpandableListView 5 Levels/Stufen

Hi,

ich habe ein dringendes Problem:
und zwar brauche ich für ein Fragment eine Liste mit fünf Levels, in jedem Level soll ein eigenes Objekt abgespeichert sein.
Das einzige was ich hinbekommen habe ist eine ExpandableListView mit einem BaseExpandableListAdapter der nur zwei Levels hat. Wie kann ich ohne viel Aufwand weitere Levels hinzufuegen?

Würde mich über jeden Tipp freuen.
Danke.

Kann mir keiner weiterhelfen?

Ich habe für jeden Level ein HashMap mit dem Parent als Key und eine List von Child-Elementen als Value.

listDataSecGrp = new HashMap<Tree, List<Tree>>();
listDataThdGrp = new HashMap<Tree, List<Tree>>();
listDataFouGrp = new HashMap<Tree, List<Tree>>();
listDataFthGrp = new HashMap<Tree, List<Tree>>();```

Habe eine "fertige" treeViewList gefunden, aber das Problem ist dass ich nicht verstehe wie ich dort die einzelnen Levels erstelle...

Was um Himmelswillen ist so wichtig, dass man gleich 5 Ebenen davon gleichzeitig darstellen muss?

Mir kommt das wie ein schlechter Lösungsansatz vor, erklär mal was du überhaupt machen willst bevor du dir hier was zusammen-hackst.

Für Android ist da nicht viel zu finden. Wenn es aber bereits etwas fertiges gibt, warum nicht dieses verwenden?

Wenn ich es selbst implementieren müsste würde ich wahrscheinlich mit TreeNodes einen „echten“ Baum aufbauen - wobei man das sicherlich auch mittels Maps hinkriegen könnte.
Ich würde dann allerdings nicht auf ExpandableListView/ListAdapter setzen sondern mit einer einfachen ListView und Adapter arbeiten und eine List verwenden in der alle Knoten der verschiedenen Gruppen entsprechend ihrer Sichtbarkeit aufgelistet werden. Über die getView des Adapters kann man dann abhängig vom Level des Knotens die Einrückung manipulieren.

*** Edit ***

Da muss ich auch zustimmen, da Android meist auf kleineren Displays läuft, könnte so ein Tree schnell unübersichtlich werden und man sollte überlegen, ob die „Standard“ Darstellung z.B. mittels zwei Listen nicht ausreichend ist.

[QUOTE=schlingel]Was um Himmelswillen ist so wichtig, dass man gleich 5 Ebenen davon gleichzeitig darstellen muss?

Mir kommt das wie ein schlechter Lösungsansatz vor, erklär mal was du überhaupt machen willst bevor du dir hier was zusammen-hackst.[/QUOTE]

Die erste Ebene ist ein Park, die zweite eine Anlage und die nächsten Ebenen sind z.b. Sensoren etc.
Jede Ebene soll auswählbar sein um z.b. den Status der Parks, Anlagen, Sensoren,… in einem anderen Fragment anzeigen zu lassen.

Außerdem sollen die einzelnen Ebenen geschlossen/geoeffnet werden, um das Problem mit der Unübersichtlichkeit zu vermeiden…

Habe nun diese tree-view-list-android Library gefunden. Genau so soll es bei mir auch funktionieren/aussehen.
Das Problem ist dass ich noch nicht genau verstehe was ich an der Library ändern muss um meine eigenen “Tree”-Objekte in die einzelnen Ebenen einzufuegen…

Ich bin nicht überzeugt, dass das eine gute Aufteilung ist. Da es ja durch die verschiedenen Ebenen die für jedes Element aus- und zugeklappt sind erst wieder sehr unübersichtlich wird.

IMHO wäre eine Aufteilung nach verschiedenen Sichten wie z.B. eine Tabelle mit Kennzahlen für die Sensoren nach Park gruppiert sinnvoller. Klickt man dann auf eine Zeile kommt man zur Parkansicht. Du solltest das ganze ein wenig auseinander ziehen und dich auf das Konzept von Android (Activity, Fragment, etc.) einlassen.

Die Anforderung ist so gegeben deshalb kann ich das nicht anders umsetzen als vorgegeben.

Habe aber noch ne andere Frage bezüglich der Lizens zu der verwendeten tree-view-list-android Bibliothek.
Wo zeigt man in Android-Apps die verwendeten Lizensen an? Meine Idee war es ein Menuepunkt “Über” oder “Lizenz” zu machen und wenn man draufklickt den Text in einem AlertDialog anzuzeigen. Oder gibt es etwas eleganteres

Dann wurde da bei der Planung geschlafen. Normalerweise muss man dem Kunden erklären weshalb die Idee Schwachsinn ist. Das ist die Verantwortung des Entwicklers. Aber egal. Geschehen ist geschehen.

Puncto Lizenz: Wenn’s eine Google Play App wird, kannst du dort die Lizenzen angeben und gegebenenfalls den Link zum Code-Repository. Ansonsten kannst du die App auch bei der Übergabe mit den nötigen Lizenztexten “überreichen”.

Ok danke ne gibt es nicht, komischerweise verschwandt der fehler am naechsten tag o.O