屏幕旋转时重新启动地图(Android Studio)

时间:2015-11-18 11:58:10

标签: google-maps-markers

我有关于屏幕旋转的问题。我知道我必须使用方法“onSaveInstanceState(Bundle outState)”但我没有理解它是如何工作的。我的应用程序必须将“标记”添加到Google Map。

class AddMarker extends Fragment{

private static final String KEY = "marker";
private ArrayList<LatLng> mData; 
private GoogleMap mMap;
private MapView mMapView; 
@Override
public void onSaveInstanceState(Bundle outState) {
    outState.putParcelableArrayList(KEY, mData);
    super.onSaveInstanceState(outState);
    mapView.onSaveInstanceState(outState);
}

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    View v = inflater.inflate(R.layout.map, container, false);

    mMapView = (MapView) v.findViewById(R.id.mapview);
    mMapView.onCreate(savedInstanceState);
    mMap = mMapView.getMap();
    mMap.setMyLocationEnabled(true);

    if((savedInstanceState != null)
            && (savedInstanceState.getParcelableArrayList(KEY) != null)){
        mData = savedInstanceState.getParcelableArrayList(KEY);
      // What should I do here ????
      // call drawMarker(mData) ???
    }
    else
        drawMarker(mData);
    return v;
}

} }

0 个答案:

没有答案