Erweiterbares GridView mit Ansichtsrecycling in Android

8

Ich versuche, eine androide Aktivität zu implementieren, wo ich Teile von Gegenständen habe (zum Beispiel Automarken und ihre Modelle).

Ich möchte in der Lage sein, die Elemente in einem Raster anzuzeigen (z. B. fixiert auf 3 Spalten), und jedes der Raster kann minimiert werden. Eigentlich möchte ich genau das, was die ExpandableList-Ansicht für ListViews aber mit einem GridView macht.

Wenn ich eine GridView im ExpandableListAdapter zurückgebe, werden die Elemente in dieser GridView leider nicht wiederverwendet, da sie sich beim Scrollen vom Bildschirm entfernen. Und wir haben eine Menge Dinge zu zeigen, die zu ernsthaften Speicherproblemen führen würden.

Wie würde ich so etwas erreichen?

Grüße Ben

    
forkch 09.11.2013, 12:24
quelle

3 Antworten

4

Hier ist mein neu erfundenes Rad (viel Code wird von AOSPs GridView kopiert).

%Vor%

Entsprechende attrs.xml.

%Vor%     
snuk182 20.03.2014, 15:24
quelle
1

Anstatt mehrere erweiterbare Rasteransichten zu verwenden, könnten Sie diese Bibliothek Ссылка verwenden, in der Sie einen Adapter mit einem gridView (dem benutzerdefinierte StickyGridHeadersView) und die verschiedenen Header mit spezifischen View-Handlern für jede Art von Header / Grid-Element

verwalten     
kuus 23.01.2014 15:01
quelle
1

Sie können dieses Beispiel von Expandable RecyclerView verwenden. Es bietet eine erweiterbare RecyclerView mit Gruppenelementen, die individuell erweitert werden können, um ihre Kinder in einem zweidimensionalen Scrollraster anzuzeigen. Jedes Rasterelement kann ausgewählt werden.

    
Thilaw Fabrice 03.10.2016 14:29
quelle