【问题标题】:GoogleMap Fragment issues谷歌地图片段问题
【发布时间】:2011-10-13 15:54:01
【问题描述】:
【问题讨论】:
标签:
android
google-maps
android-fragments
【解决方案1】:
android-support-v4-googlemaps 库也有同样的问题。仔细阅读片段的工作原理后,解决方案非常简单。基本上,框架在旋转时保存片段的状态。因此,您需要做的是仅在没有保存状态的情况下(即在您的活动的第一次运行时)实例化您的片段。
这是一个对我有用的示例代码:
public class MyMapFragmentActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
//... init views, do stuff ...
// Only instantiate fragments at first run
if (savedInstancestate == null) {
// Add map & list fragments
FragmentManager fm = getSupportFragmentManager();
MapFragment mapFragment = new MapFragment();
AnotherFragment another = new AnotherFragment();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.fragment_map, mapFragment, "fragment_map");
ft.add(R.id.fragment_another, anotherFragment, "fragment_another");
ft.commit();
}
//... do more stuff ...
}
}
在这种情况下,我什至没有覆盖onSavedInstanceState(),因为我没有任何东西要保存。请记住,此解决方案使用 FragmentMapActivity library hack。
我希望这会有所帮助。