GetSupportFragmentManager (). FindFragmentById (R.id.map) comenzó a devolver null

Tengo un fragmento de mapa dentro de otro fragmento. Esto funcionaba antes, pero creo que estropeó después de actualizar google play servicios de la biblioteca. ¿Qué está mal? Fragment_map.xml:

<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; } 

3 Solutions collect form web for “GetSupportFragmentManager (). FindFragmentById (R.id.map) comenzó a devolver null”

Tuve que cambiar

 getActivity().getSupportFragmentManager() 

a

 getChildFragmentManager() 

Para que funcione. No sé por qué funcionaba perfectamente hace unos días.

Esta es la respuesta:

Nota: No se puede inflar un diseño en un fragmento cuando ese diseño incluye un fragmento. Los fragmentos anidados sólo se admiten cuando se añaden dinámicamente a un fragmento.

En onCreateView, no deberías estar haciendo esto. Utilice el método sugerido en la documentación oficial para la comunicación entre fragmentos. Aquí, creo que su problema está relacionado con el tiempo. No todos los fragmentos se crean o se gestionan de forma sincrónica. Además, no estoy muy seguro si puedes llamar a getActivity () de onCreateView () – porque los fragmentos recibirán onActivityCreated () callback sólo después de onCreateView ().

  • Android - Algoritmo de codificación Polyline?
  • Descomposición ETA de Google Maps Navigation
  • Google Maps no se muestra en el dispositivo Android
  • Google Maps Mobile SDK para empresas vs. API de Google Maps para Android
  • Agregar barra de herramientas de búsqueda sobre google map como en la aplicación nativa de Android
  • Android MapFragment API v2 mapa vacío con sólo controles de zoom
  • Cambiar el icono del marcador durante el tiempo de ejecución
  • Android Maps API v2 con marcadores personalizados
  • ¿Cómo mostrar google maps en la vista 2D?
  • Google mapa cuestión incluso todos los ajustes son correctos según google doc
  • Hacer algo cuando estoy dentro del radio del círculo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.