Ich habe ein Map-Fragment in einem anderen Fragment. Das funktionierte schon vorher, aber ich denke, es hat versaut, nachdem ich die Google Play Services-Bibliothek aktualisiert habe. Was ist falsch? fragment_map.xml: getSupportFragmentManager(). FindFragmentById (R.id.map) hat null zurückgegeben
<fragment
android:name="com.google.android.gms.maps.SupportMapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent" />
MapFragment:
GoogleMap map;
private static View view;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
if (view != null) {
ViewGroup parent = (ViewGroup) view.getParent();
if (parent != null)
parent.removeView(view);
}
try {
view = inflater.inflate(R.layout.fragment_map, container, false);
map = ((SupportMapFragment) getActivity()
.getSupportFragmentManager()
.findFragmentById(R.id.map))
.getMap(); // NullPointerException at this line
map.getUiSettings().setAllGesturesEnabled(true);
map.getUiSettings().setMyLocationButtonEnabled(false);
map.getUiSettings().setZoomControlsEnabled(true);
} catch (InflateException e) {
/* map is already there, just return view as it is */
}
return view;
}
Sie haben meinen Tag gerettet –