片段Google地图中的onBackPressed

时间:2016-04-25 12:50:58

标签: android google-maps android-fragments fragment onbackpressed

我有一个主要活动,片段切换,简单

活动main.xml

<FrameLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent">


    <include layout="@layout/toolbar" android:id="@+id/toolbar"></include>


    <FrameLayout
            android:id="@+id/fragment_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            />

</FrameLayout>

这是xml map Fragment

<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:map="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <fragment
            android:id="@+id/map"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            class="com.google.android.gms.maps.SupportMapFragment"/>

</RelativeLayout>

地图已加载,一切正常,问题是我有片段A - &gt;片段B - &gt;片段地图按下onbackpressed返回片段B时,它返回到片段A,地图继续在“背景”中

片段A

enter image description here

片段B

enter image description here

片段地图

enter image description here

按下后按

enter image description here

按下onbackpressed时运行的代码,适用于地图上较少的所有片段

@Override
    public void onBackPressed() {
    int count = getSupportFragmentManager().getBackStackEntryCount();
        if (count > 0) {
            getSupportFragmentManager().popBackStack();
            return;
        }
}

有没有人有任何建议,为什么会这样?

我在测试中注意到,onDestroyonDestroyView从未在地图片段上调用..

欢迎提出任何建议。

[编辑]

加载片段的代码

Fragment f = FragmentMap.newInstance()
mActivity.getSupportFragmentManager()
         .beginTransaction()
         .replace(R.id.fragment_container, f)
         .commit();

0 个答案:

没有答案