2016-11-14 71 views
2

我知道这个问题在Stackoverflow中有很多重复,但是当我使用lib支持9.6.1一些函数(如getMap)已被删除。如何在片段内使用SupportMapFragment?

基本上我会打电话:

((SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.google_map)).getMapAsync(this); 

和实施OnMapReadyCallback接口对该片段。

但是,如果我有很多Fragment和R.id.container。当我将MapFragment切换为其他片段时,每件事都必须执行recall => Map reload, data reload, ....

这对实践来说是一个穷人。 我不想重做,它使我的应用程序性能如此糟糕。

请给我看一个很好的解决方案来使用地图。

回答

1

您可以使用不同的容器 - >两个不同的FrameLayouts具有不同的ID。

在其中一个只保留地图并隐藏FrameLayout,当你不想显示它。

view.setVisibility(View.GONE) 
2

只是使用不同的Views作为acontainers,并切换它们之间的可见性。 view1.setVisibility(View.GONE) view2.setVisibility(View.VISIBLE)