2013-01-17 3 views
7

Eine meiner Aktivitäten wechselt die Fragmente, die Google Map enthalten.Wiederverwendung von Google Map v2 über mehrere Fragmente in einer einzigen Aktivität

Zuerst habe ich versucht, Fragment Child Fragment Manager (ChildFragmentManager) zu verwenden, um SupportMapFragment hinzuzufügen. Es funktioniert in Ordnung, aber die Karte wird für jedes Fragment erneut geladen, was viel Zeit in Anspruch nimmt.

Ich konnte SupportMapFragment nicht von einem Fragment trennen und an ein anderes anschließen, da es irgendwie mit ViewGroup verbunden war, wo es zuerst platziert wurde.

Also habe ich mich entschieden, das einfache Objekt zu verwenden, das in Aktivität erstellt wird, und es zur Viewgroup des aktiven Fragments hinzufügt und es vor dem Platzieren in der Viewgroup eines anderen Fragments entfernt.

Alles funktioniert ok außer onSaveInstanceState (MapView manuell alle Aktivität Lifecycle-Methoden aufrufen wie onResume, , onDestroy, onSaveInstanceState passieren erfordert). Wenn ich in meiner Aktivität versuche, mapView.onSaveInstanceState aufzurufen, wird die App gecrasht.

Ich frage mich, ob jemand GoogleMap erfolgreich über mehrere Fragmente wiederverwendet hat?

+0

Ich habe das gleiche Problem. Haben Sie eine Lösung gefunden? – Izydorr

Antwort

-1

Ich verwende Kartenfragment innerhalb Listenelement - Ich habe nur ein Fragment, das erstellt und hinzugefügt wird, um die View einmal und nur einmal - Ich habe eine ExpandableListView und ich füge es in Adapter getChildView.

Verwandte Themen