我正在開發一個應用程序,該應用程序在三個不同的MapActivities上顯示地圖。如何在多個MapActivities上使用單個MapView
爲了實現這個功能,我在這三個FragmentActivities中重新使用了一個MapFragment,它使用Pete Doyle's port of the Android Compatibility package擴展了MapActivities。
MapFragment中使用的MapView保存在Application Context。
ViewGroup parentViewGroup = (ViewGroup) app.mapViewContainer.getParent();
if(null != parentViewGroup) {
parentViewGroup.removeView(app.mapViewContainer);
}
這一切運作良好,直到那一刻:
爲了避免「這一觀點已經有母」錯誤,我打開一個不同的活動時,請從當前父視圖我按下手機的後退按鈕並轉到以前的MapActivity。此時,MapView全部爲黑色,因爲在更改活動時將其從其父項中移除,並且後退按鈕不會觸發視圖的重新創建...
我知道此帖子: How to use multiple MapActivities/MapViews per Android application/process
由於事實上,我得到了主意,重新使用整個活動的MapView從答案丹尼·雷明頓 - MacroSolve了。
我還沒有嘗試過使用多個進程,因爲我相信我試圖實現的解決方案在資源上要輕得多。
任何幫助將不勝感激!