У меня есть SupportMapFragment, а затем у меня есть фрагмент (назовем его Fragment A), который помещается в контейнер, определенный в том же XML-файле, что и SupportMapFragment android:id="@+id/fragmentContainer">
XML-код моей MapsActivity
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/fragmentContainer">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map"
tools:context=".MapsActivity"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_below="@id/place_autocomplete_fragment"
android:layout_above="@id/bottom_navigation"
/>
</RelativeLayout>
Я пытаюсь удалить Фрагмент А, чтобы я мог снова увидеть свою Карту, но все, что я пытаюсь удалить Фрагмент А, похоже, также удаляет фрагмент Карты, поэтому моя карта «заморожена», я могу не прокручивай.
Как я пытаюсь удалить другие фрагменты
when(item.itemId){
R.id.nav_map -> {
val fragmentManager= this@MapsActivity.supportFragmentManager
val fragments = fragmentManager.fragments
for (fragment in supportFragmentManager.fragments) {
if (fragment is SupportMapFragment) {
continue
} else if (fragment != null) {
supportFragmentManager.beginTransaction().remove(fragment).commit()
}
}
return@OnNavigationItemSelectedListener true
}
// replace the fragment A into the fragment container
R.id.nav_A -> {
Log.d(TAG, "Fragment A icon pressed")
replaceFragment(FragmentA())
return@OnNavigationItemSelectedListener true
}
}