2013-06-12 5 views
6

Ich habe eine erweiterbare Liste, die ich mit einer benutzerdefinierten Adapterklasse erstelle, die BaseExpandableListAdapter erweitert. Gibt es eine Möglichkeit für mich, unter jeder der Gruppen in meiner erweiterbaren Liste ein leeres Ansichtskind hinzuzufügen, wenn in dieser Gruppe keine Elemente vorhanden sind?Leere Ansicht im Adapter für erweiterbare Liste

EDIT: Ich versuchte mExpList.setEmptyView(getActivity().findViewById(R.id.empty_child)); zu verwenden, aber es hat nicht funktioniert. R.id.empty_child ist in der gleichen XML direkt unter der erweiterbaren Listenansicht.

+0

fügen Sie mehr Code ändern, wenn Sie noch eine Antwort benötigen. Dies ist nicht genug, um Ihr Problem zu finden danke –

+0

Hinzugefügt den Code @ Yume117 – nknj

Antwort

8

In der Methode getChildView() können Sie feststellen, ob diese Gruppe Kinder hat. Wenn es keine gibt, können Sie eine leere Ansicht zurückgeben.

Zur gleichen Zeit, müssen Sie die anderen verwandten Methoden wie, getChildrenCount(), getChild() usw.

+0

Das ist, was ich auch dachte! Aber 'getChildView()' wird nicht einmal aufgerufen, wenn die Gruppe leer ist. Ich habe es gerade noch einmal mit einer Log-Anweisung am Anfang von getChildView() probiert und die leere Gruppe auf meinem Telefon umgeschaltet. Die Protokolle wurden nicht ausgedruckt. – nknj

+2

Sie müssen die getChildrenCount() anpassen, um für die Gruppen, die leer sind, 1 statt 0 zurückzugeben. –

+0

Ah! das klingt, als würde es funktionieren! Lass mich versuchen, zu dir zurück zu kommen. – nknj