2016-11-19 4 views
-3

Ich habe eine RecyclerView mit verschiedenen CardView Layouts.Entwerfen Sie eine RecyclerView mit verschiedenen Layouts

Meine Frage ist, dass, wenn ich auf jeden CardView dynamische Liste hinzugefügt werden soll, dann soll ich ListView auf jeder Karte hinzufügen oder RecyclerView auf jeder Karte hinzufügen?

Ein Beispiel wird geschätzt.

+0

Könnten Sie versuchen Sie es ein bisschen mehr im Detail zu erklären, was Sie zu tun versuchen? Soweit ich verstanden habe, versuchen Sie, eine Listview/Recyclerview auf jede Karte, die sich bereits in einer Recyclerview befindet, zu setzen? –

+0

Korrigieren. Das versuche ich zu tun. Ist es möglich ? empfohlen ? –

+0

Ich werde meine Antwort jetzt setzen, halten –

Antwort

1

zwischen verschiedenen Layout-Typen zu unterscheiden Um ehrlich zu sein ist es nicht sehr häufig ist eine RecyclerView in einem anderen hinzuzufügen. Es wäre besser für Sie, eine einzelne RecyclerView zu verwenden und Ihre Listenelemente dynamisch zu füllen. Hier ein Github-Projekt, um zu beschreiben, wie das gemacht werden kann . Ich würde sagen, guck mal. Es kann verschiedene Ansätze geben, dies ist jedoch eine viel schnellere und effizientere Möglichkeit, mehrere Listen in einem RecyclerView anzuzeigen.

Die Idee ist Logik in Ihrem onCreateViewHolder und onBindViewHolder Methode hinzufügen, so dass Sie die richtige Ansicht für die exakten Positionen in Ihrem RecyclerView aufblasen können.

Es gibt auch ein Beispielprojekt mit diesem Wiki. Sie könnten klonen und überprüfen, was es tut.

Es gibt einen anderen Weg, um Ihre Produkte in einer einzigen Arraylist von Objekte zu halten, so dass Sie ein Attribut Tagging die Elemente festlegen , um anzuzeigen, welches Element aus der ersten Liste ist und die man gehört zur zweiten Liste. Dann übergeben Sie diese ArrayList in Ihre RecyclerView und implementieren Sie dann die Logik in Adapter, um sie dynamisch zu füllen. How to add a recyclerView inside another recyclerView

Sag mir, wenn das Ihr Problem gelöst;)

0

in .onCreateViewHolder() -Methode erhalten Sie int Variable Viewtype Verwenden Sie es für

Verwandte Themen