Erweiterbare Listenansicht mit untergeordneten Elementen im Stammverzeichnis
Ich versuche eine Listenansicht mit folgender Struktur zu erstellen:
Listview
-> child
-> child
-> group
-> child
-> child
-> child
Wie würde ich vorgehen, um dies zu erreichen?
Muss ich eine Gruppe dazu bringen, sich wie ein Kind zu verhalten, oder ist es möglich, es richtig so zu machen:
Ich habe ein Objekt MenuRow
public class MenuRow {
public String title;
public MenuRow(String title) {
this.title = title;
}
}
Dann habe ich die MenuGroup und MenuChild, die MenuRow erweitern. Dadurch kann ich Folgendes tun:
ArrayList<MenuRow> menu = new ArrayList<MenuRow>();
menu.add(new MenuChild("row 1"));
menu.add(new MenuChild("row 2"));
MenuGroup group = new MenuGroup("group");
MenuChild groupChild = new MenuChild("group child");
group.items.add(groupChild);
menu.add(group);
Ich kann mir nicht vorstellen, wie ich mit dem Adapter vorgehen soll.
@Override
public Object getChild(int groupPosition, int childPosition) {
MenuRow row = menu.get(groupPosition);
if (row instanceof MenuGroup) {
ArrayList<MenuChild> chList = ((MenuGroup) row).getItems();
}
else{
return null;
}
return chList;
}
Diese Methode ist zum Beispiel nicht wirklich an meine Lösung angepasst. Wie soll ich versuchen, mein Ziel zu erreichen? Muss ich einen anderen Adapter verwenden? (meine aktuelle Erweiterung BaseExpandableListAdapter)