MEIN PROBLEM
ich eine Android-App erschaffe, wo der Benutzer eine Last von Karten klaut durch (wie Zunder)
Jede Karte ist sehr UI schwer (über eine Google-Kartenansicht und eine AdMob-Anzeige) Ich habe versucht, die Liste in einen Fragmentadapter zu laden. Dies bedeutet ein Fragment für jeden einzelnen Artikel. Dies ist sehr speicherintensiv, da ich ungefähr 30 Google Map-Ansichten und 30 Admob-Ansichten für die 30 Elemente erstelle.
Mein Nexus 5 stürzt unter dieser unnötigen Last natürlich nicht ab.Wiederverwendung Fragmente in FragmentStatePagerAdapter
Meine versuchte Lösung
I 3 Instanzen der fragment.Loaded dieser Fragmente in eine HashMap geschaffen haben.
// für aktuell angezeigte Fragment key = 0
// für vorherige Seite key = -1
für die nächste Seite key = 1
ich den vorherigen Index halten.
Auf der GetItem-Methode des Adapters ich feststellen, ob der Benutzer auf die vorherige Seite oder die nächste Seite gegangen ist.
Ich bekomme das zugehörige Fragment und gebe es zurück.
Mein Problem ist, ich empfangen Ausnahmen halten wie:
Illegal: Fragment hinzugefügt bereits
Ich habe versucht, Lösen und/oder das Fragment zu entfernen, aber kein Glück :(
Irgendwelche Vorschläge
Dank
Dank für diesen aber es ist nicht das, was ich bin nach Ich möchte Fragmente wieder zu verwenden anstatt 30 Fälle insgesamt dank zu erstellen – dewijones92
Sie 30 Fälle insgesamt haben would'nt .... nur 2-mal der Wert von setOffscreenLimit (links und rechts) würde der Pager-Adapter sie zerstören, wenn er außerhalb dieser Grenzen ist und bei Bedarf neu erstellen –