我正在使用新的GoogleMaps API(v2)工作,但在片段方面遇到了一些问题。 我的应用程序中有两个片段(地图、列表),用户可以在它们之间切换。 这是目前使用的代码:
if (itemPosition == 0) {
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragmentpos, myMapFragment).commit();
} else if (itemPosition == 1) {
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragmentpos, myListFragment).commit();
}......
当我使用地图时,切换到列表片段,然后返回地图片段时,地图的最后位置没有被保存。这不是我想要的,我希望地图与我离开时的状态相同。如何实现这一点?我尝试在保存摄像机位置时实现。
public void onSaveInstanceState(Bundle outState){
outState.putDouble("LAT", mMap.getCameraPosition().target.latitude);
outState.putDouble("LON", mMap.getCameraPosition().target.longitude);
outState.putFloat("BEAR", mMap.getCameraPosition().bearing);
...
在onCreateView()中保存它,但Bundle始终为空。如果我替换片段,则不会调用onSaveInstanceState。
那么如何保存地图的状态?