Android карты перестают отвечать после возобновления фрагмента

Ниже приведен мой основной код для управления картами. Я делаю некоторые действительно продвинутые вещи позже. Кажется, все работает идеально, покаonResume().

Вот макет, вы перемещаетесь по приложению за 1 одно действие с несколькими фрагментами. ЭтотmapFragment содержится внутри фрагмента. Это отлично работает. Однако, когда я добавляю другой фрагмент и помещаю его в задний стек, когда я возвращаюсь к нему позже, карта не отвечает.

Я попытался исправить это, переместив мой вызов наsetupMaps(); вonResume()Однако это вызвалоgMaps быть нулевым, когда я получаю это отgMaps = mapFragment.getMap(); вsetViews().

Как мне справиться с этим?

    @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();
    }

Ответы на вопрос(3)

Ваш ответ на вопрос