我有一个主要活动,片段切换,简单
活动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
片段B
片段地图
按下后按
按下onbackpressed
时运行的代码,适用于地图上较少的所有片段
@Override
public void onBackPressed() {
int count = getSupportFragmentManager().getBackStackEntryCount();
if (count > 0) {
getSupportFragmentManager().popBackStack();
return;
}
}
有没有人有任何建议,为什么会这样?
我在测试中注意到,onDestroy
和onDestroyView
从未在地图片段上调用..
欢迎提出任何建议。
[编辑]
加载片段的代码
Fragment f = FragmentMap.newInstance()
mActivity.getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, f)
.commit();