2013-01-17 27 views
7

Una delle mie attività cambia i frammenti che contiene la mappa di google.Riutilizzare Google Map v2 su più frammenti in singola attività

Inizialmente, ho provato a utilizzare il frammento figlio manger di fragment (ChildFragmentManager) per aggiungere SupportMapFragment. Funziona bene, ma la mappa viene caricata di nuovo per ogni frammento, il che richiede molto tempo.

Non è stato possibile staccare lo SupportMapFragment da un frammento e collegarlo a un altro, poiché in qualche modo era collegato a ViewGroup dove era stato posizionato per primo.

Quindi alla fine ho deciso di utilizzare l'oggetto MapView semplice creato nell'attività e aggiungerlo al gruppo di visualizzazione del frammento attivo e rimuoverlo prima di inserirlo nel viewgroup di un altro frammento.

Tutto funziona ok tranne onSaveInstanceState (MapView richiede passare manualmente chiamare tutti i metodi di attività del ciclo di vita come onResume, , onDestroy, onSaveInstanceState). Quando provo a chiamare lo mapView.onSaveInstanceState nella mia attività, esso schiaccia l'app.

Mi chiedo se qualcun altro ha riutilizzato con successo GoogleMap su più frammenti?

+0

Ho lo stesso problema. Hai trovato qualche soluzione a questo? – Izydorr

risposta

-1

Sto usando il frammento di mappa all'interno dell'elemento di elenco: ho solo un frammento che viene creato e aggiunto allo View una volta sola: ho un ExpandableListView e lo aggiungo nell'adattatore getChildView.

Problemi correlati