我有一个viewpager,其中每个"页"是一个片段。每个"页面碎片"有一个地图碎片(谷歌地图sdk android)里面,添加编程使用getSupportFragmentManager
(如果我使用getFragmentManager
它也不工作)。每个添加的地图都是SupportMapFragment
的一个新实例(MapFragment
也不起作用)。
对于第一个片段,即第一次添加到viewpager的片段,映射工作。在其他片段处,非交互式地图仅显示为灰色正方形。
我使用的是'com.google.android.gms:play-services-maps:7.5.0'依赖项。
所有添加的地图都使用lite
版本。我是这样做的:
GoogleMapOptions options = new GoogleMapOptions();
options.liteMode(true);
options.mapToolbarEnabled(false);
SupportMapFragment mapFragment = SupportMapFragment.newInstance(options);
我在一些博客和Stackoverflow上读到也许一个应用程序每个进程只能有一个谷歌地图实例。有人遇到过同样的问题吗?我猜对了吗?
谢谢。
如果您想将一个片段放入另一个片段中,请使用getChildFragmentManager()
而不是getSupportFragmentManager()
getChildFragmentManager
返回一个私有的FragmentManager用于放置和管理fragment