我想在标签式活动中加载地图片段而不显示它,以便我可以稍后启动地图片段
我尝试过使用getFragmentManager().findFragmentbyId()
和getSupportFragmentManager().findFragmentbyId()
无效。
我也试过从SectionPagerAdapter返回SupportMapFragment.newInstance()
但是它用我不想要的地图片段替换了整个页面。
我也试过
MapFragment mapFragment = MapFragment.newInstance();
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
Log.d("intro", "onMapReady");
}
});
但这也不起作用。 帮助我实现这一目标。
答案 0 :(得分:0)
我做到了。 动态创建地图片段,然后将其放入布局(在我的情况下为FrameLayout)。将该布局的可见性设置为“已消失”。
SupportMapFragment mapFragment = SupportMapFragment.newInstance();
FragmentManager fm = getChildFragmentManager();
fm.beginTransaction().replace(R.id.map1, mapFragment).commit();
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
Log.d("intro", "onMapReady");
}
});
XML中的
<FrameLayout
android:id="@+id/map1"
android:visibility="gone"
android:layout_width="1dp"
android:layout_height="1dp"/>