Wie lege ich einen Button innerhalb eines Gruppenelements in einer ExpandableListView?

7

Ich entwickle eine Anwendung für Android.

Wie kann ich eine Schaltfläche in eine Gruppe einer ExpandableListView einfügen?

Durch Klicken auf die Schaltfläche wird ein Dialogfeld angezeigt, anstatt die Gruppe zu öffnen oder zu schließen. Klicken Sie außerhalb der Schaltfläche, sollte sich die Gruppe normal öffnen und schließen.

Das Bild unten zeigt, wo ich die Schaltfläche einfügen möchte.

Ссылка

    
Natanael 29.05.2012, 01:50
quelle

3 Antworten

20

Android ExpandableListView kann beliebige Schaltflächen in Group oder Child haben.

Stellen Sie sicher, dass die Schaltfläche nicht wie unten im Adapter fokussiert ist.

%Vor%

Dies hilft, auf Group und Button innerhalb von group.parent separat zu klicken

    
Jijo Thomas 30.10.2013 07:08
quelle
1

Sie müssen die groupView mit einer benutzerdefinierten XML-Datei auffüllen, die eine Schaltfläche wie diese enthält (z. B. inflate_xml_groupview.xml ):

%Vor%

Dann müssen Sie einen benutzerdefinierten ExpandableListAdapter erstellen, der BaseExpandableListAdapter erweitert und den Button für die getGroupView () -Methode wie folgt abruft:

%Vor%

Hoffe, das hilft.

    
Thordax 30.05.2012 16:21
quelle
0

Ich habe meine eigene ExpandableListView erstellt. Ich habe Layouts in XML und Klassen verwendet, um die Komponente zu erstellen.

Und überraschenderweise war es sehr einfach zu tun.

Es war viel einfacher zu verstehen als die standardmäßige ExpandableListView, weil ich für jedes Element der Liste (für die Liste selbst, für die Gruppe und für die Elemente) eine Klasse und ein Layout erstellt habe. Es gab keinen Grund, sich mit Listen von Kartenlisten zu beschäftigen, was meiner Meinung nach die Expressivität und die Lesbarkeit des Codes verringert.

Zusätzlich wird die Liste extrem flexibel und anpassbar. Ich kann Gruppen und Elemente zur Laufzeit hinzufügen und entfernen. Jetzt kann ich das Aussehen und die internen Komponenten der Liste frei ändern.

Die von mir erstellte ExpandableListView kann dasselbe wie der Standard und mehr tun. Ich kann einfach nicht sagen, ob die Leistung beeinträchtigt war, habe aber kein sichtbares Problem bemerkt.

    
Natanael 30.05.2012 16:10
quelle