我的一项活动是切换包含谷歌地图的片段。
起初我尝试使用片段的子片段管理器(ChildFragmentManager)来添加SupportMapFragment
。它工作正常,但是每个片段都会再次加载map,这需要花费很多时间。
我无法从一个片段中分离SupportMapFragment
并将其附加到另一个片段,因为它与ViewGroup
以某种方式连接在一起。
所以最后我决定使用在活动中创建的普通MapView
对象,并将其添加到活动片段的viewgroup中,并在放入另一个片段的viewgroup之前将其删除。
除onSaveInstanceState
外,一切正常(MapView需要手动调用所有活动生命周期方法,如onResume
,onPause
,onDestroy
,onSaveInstanceState
)。当我尝试在我的活动中调用mapView.onSaveInstanceState
时,它会破坏应用程序。
我想知道是否还有其他人成功地在几个片段中重复使用GoogleMap?
答案 0 :(得分:-1)
我在列表项中使用了地图片段 - 我只创建了一个片段并将其添加到View
一次且只有一次 - 我有一个ExpandableListView
而且我有一个片段。将其添加到适配器getChildView
。