在单个Activity中将Google Map v2重用于多个片段

时间:2013-01-17 05:18:06

标签: android android-mapview android-maps-v2

我的一项活动是切换包含谷歌地图的片段。

起初我尝试使用片段的子片段管理器(ChildFragmentManager)来添加SupportMapFragment。它工作正常,但是每个片段都会再次加载map,这需要花费很多时间。

我无法从一个片段中分离SupportMapFragment并将其附加到另一个片段,因为它与ViewGroup以某种方式连接在一起。

所以最后我决定使用在活动中创建的普通MapView对象,并将其添加到活动片段的viewgroup中,并在放入另一个片段的viewgroup之前将其删除。

onSaveInstanceState外,一切正常(MapView需要手动调用所有活动生命周期方法,如onResumeonPauseonDestroyonSaveInstanceState)。当我尝试在我的活动中调用mapView.onSaveInstanceState时,它会破坏应用程序。

我想知道是否还有其他人成功地在几个片段中重复使用GoogleMap?

1 个答案:

答案 0 :(得分:-1)

我在列表项中使用了地图片段 - 我只创建了一个片段并将其添加到View一次且只有一次 - 我有一个ExpandableListView而且我有一个片段。将其添加到适配器getChildView