3

Ich habe eine Recycler-Ansicht, die Ansicht wieder verwendet, mein Problem ist, dass ein Viewholder einen ViewPager enthält und, wenn der RecyclerView-Adapter die Ansicht wiederverwendet, wo der Viewholder aufgeblasen wird, tritt eine Ausnahme auf der Viewpager. Die onCreateViewHolder-Methode wird jedoch nur beim ersten Mal aufgerufen. Wie kann ich dieses Verhalten vermeiden und erreichen, dass der onCreateViewHolder mehr als einmal aufgerufen werden kann?RecyclerView nicht recycle View

Vielen Dank im Voraus

+3

* Vermeiden Sie Wiederverwendung Artikel auf Recyclerview * == Vermeiden Sie ** Recyceln der Ansicht ** in RecyclerView ... also warum RecyclerView überhaupt verwenden? – Selvin

+0

Und jetzt ernsthaft ... warum kommst du nicht hier zurück mit minimalem Beispiel deines Codes und deiner Ausnahme, der du gegenüberstehst? Ist es nicht besser RecyclerView zu verwenden und einen Fehler zu beheben? – Selvin

Antwort

8

Verwendung recyclerView.getRecycledViewPool().setMaxRecycledViews(YOUR_VIEW_TYPE, 0); Dies wird das Recycling der angegebenen Ansicht Typ deaktivieren

+0

Vielen Dank, das funktioniert wie ein Zauber! – FVod

0

Dies ist, was die getItemViewType Überschreibung für ist.

Wenn Sie getItemViewType überschreiben, um einen anderen Wert für die Position ViewPager zurückzugeben, wird die RecyclerView diese verwenden, um zu wissen, wann sie die Ansicht wiederverwenden sollte.

+0

Ich benutze es bereits, mein Problem ist, dass dies der gleiche Typ an der gleichen Stelle ist. Das Problem tritt auf, wenn ich einen Bildlauf nach unten und dann wieder nach oben durchführe (so dass wieder der gleiche Betrachter angezeigt wird). – FVod

+0

Dann müssen Sie wirklich Ihren Code und Ihr Logcat posten, das sollte nicht zu schwer zu beheben sein. –

Verwandte Themen