ViewPager mit FragmentStatePagerAdapter läd falsche Fragments

  • Hallo,


    ich bin relativ neu in der Android Programmierung, finde mich aber schon einigermaßen zurecht.
    Zunächst mal was ich erreichen möchte, ist einen ViewPager mit nur drei Fragments verschiedener Datensets zu realisieren.
    ViewPager habe ich auch schon mal verwendet nur nicht mit Datensätzen sondern komplett unterschiedlichen Fragments.
    Ich habe eine FragmentStatePagerAdapter der die neuen Instanzen der Fragments bereitstellt und ein Fragment das den ViewPager mit dem PagerAdapter verbindet. Soweit so gut, das ganze funktioniert auch mit den Datensets, nur eben nicht 100%.


    Mein Problem:
    Wenn der ViewPager aufgerufen wird, soll standardmäßig das 1. Fragment (ich zähle 0-1-2) offen sein, dieses enthält jedoch fälschlicherweise die Daten von Fragment 2. Wenn ich zum vorherigen Fragment wechsle, zeigt dieses die selben Daten an, beim nachherigen genauso. Erst wenn ich einmal beim 2. Fragment war und zurück zum 0. gehe, passen die Daten dort.


    Was ich bereits versucht habe:
    Gegooglet natürlich, bei stackoverflow gibt es einige Fragen mit genau dieser Thematik, jedoch wurde leider keine beantwortet.
    Von FragmentPagerAdapter auf FragmentStatePagerAdapter gewechselt, die Veränderung die das gebracht hat, war dass die Daten nach dem anzeigen des letzten Fragments, im ersten Fragment wieder stimmen. Vorher wurde in jedem Fragment das selbe Datenset angezeigt.


    Ich weiß dass der FragmentStatePagerAdapter die Fragments recyclet und immer nur +-1 läd. Daher lässt sich auch erklären warum die Daten am Ende zumindest im ersten Fragment stimmen. Die Frage ist jetzt wie kann ich sicherstellen, dass der Adapter am Anfang für jedes Fragment die korrekten Daten läd?



    Ich bin für jeden Tipp dankbar!


    Viele Grüße


    Blubbaa

  • Habs selber rausbekommen, ich hatte als AllItemsFragment ein altes Stück Code von mir recycled. :P
    Das ganze nochmal neu aufgesetzt und schon funktionierts. ?( Meine Vermutung ist, es lag an einem mAdapter der als static deklariert war.


    Thread kann geschlossen werden.


    Blubbaa

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!