This is my current approach:
Activity:
ViewGroup mapViewContainer = (ViewGroup)LayoutInflater.from(this).inflate(R.layout.map_view, null);
mapView = (MapView) mapViewContainer.findViewById(R.id.map);
mapViewContainer.removeView(mapView);
Fragment
this.placehodler = (ViewGroup) view.findViewById(R.id.map_placeholder);
this.mapView = getParentActivity().getMapView();
placehodler.addView(this.mapView, 0);
... on fragment pause
placehodler.removeView(mapView);
PS: It is partially based on your example. I don't understand why you are using mapContainer, i think it is useless.