WIl*_*JBD 3 android google-maps fragment
下面列出的是我控制地图的基本代码.我稍后会做一些非常高级的东西.一切似乎都很完美,直到onResume().
这是布局,您可以在1个单独的活动中浏览应用程序,并使用多个片段.它mapFragment包含在片段内.这很好用.但是当我添加另一个片段并在后面的堆栈上推送它时,当我稍后再回到它时,地图没有响应.
我想通过我的电话转移到固定该setupMaps();进onResume(),但是这引起了gMaps为空时,我得到它gMaps = mapFragment.getMap();的setViews().
我该怎么处理?
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
root = inflater.inflate(R.layout.fragment_maps, container, false);
setupMaps();
return root;
}
private void setupMaps()
{
gMaps = null;
fm = getActivity().getSupportFragmentManager();
mapFragment = SupportMapFragment.newInstance();
android.support.v4.app.FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.flMapContainer, mapFragment).commit();
}
@Override
public void onResume()
{
super.onResume();
mapFragment.onResume();
setViews();
}
private void setViews()
{
gMaps = mapFragment.getMap();
getData(); // initializes overlays, markers, polygons etc.
}
@Override
public void onPause()
{
mapFragment.onPause();
super.onPause();
}
Run Code Online (Sandbox Code Playgroud)
你在logcat中看到了什么吗?我以前遇到过这样的问题,我认为它与旧的地图片段的View在创建它的新实例之前没有从其父ViewGroup中删除有关.这导致重复片段的错误.
在创建SupportMapFragment的新实例之前,请尝试从flMapContainer中删除所有视图.
| 归档时间: |
|
| 查看次数: |
2712 次 |
| 最近记录: |