Android Maps reagieren nicht mehr, nachdem das Fragment fortgesetzt wurde

Im Folgenden ist mein Basiscode für die Steuerung der Karten aufgeführt. Ich mache später ein paar wirklich fortgeschrittene Sachen. Alles scheint perfekt zu funktionieren, bisonResume().

Hier ist das Layout, Sie navigieren durch die App in 1 einzelnen Aktivität mit mehreren Fragmenten. DiesemapFragment ist in einem Fragment enthalten. Das funktioniert gut. Wenn ich jedoch ein weiteres Fragment hinzufüge und dieses auf den hinteren Stapel schiebe, reagiert die Karte nicht mehr, wenn ich später darauf zurückkomme.

Ich habe versucht, dies zu beheben, indem ich meinen Anruf auf verschoben habesetupMaps(); in dieonResume()dies verursachte jedochgMaps null sein, wenn ich es bekommegMaps = mapFragment.getMap(); in demsetViews().

Wie soll ich damit umgehen?

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        root = inflater.inflate(R.layout.fragment_maps, container, false);

        setupMaps();
        return root;
    }

    private void setupMaps()
    {
        gMaps = null;
        fm = getActivity().getSupportFragmentManager();

        mapFragment = SupportMapFragment.newInstance();
        android.support.v4.app.FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
        transaction.add(R.id.flMapContainer, mapFragment).commit();

    }


    @Override
    public void onResume()
    {
        super.onResume();

        mapFragment.onResume();
        setViews();
    }

    private void setViews()
    {
        gMaps = mapFragment.getMap();
        getData(); // initializes overlays, markers, polygons etc.
    }

    @Override
    public void onPause()
    {           
        mapFragment.onPause();
        super.onPause();
    }

Antworten auf die Frage(3)

Ihre Antwort auf die Frage