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