В моем приложении я использую bottomNavigationView, компонент Navigation и viewmodel. Когда я переключил вкладки и вернулся, весь фрагмент исчез. Он не восстановил свое прежнее состояние. Компонент навигации заменяет фрагмент по умолчанию.
Как решить проблему?
MainActivity.kt
override fun onCreate(savedInstanceState: Bundle?) {
...
navController = findNavController(R.id.nav_host_fragment)
appBarConfiguration = AppBarConfiguration(
setOf(
R.id.navigation_home,
R.id.navigation_order,
R.id.navigation_cart
)
)
binding.navView.setupWithNavController(navController)
}
навигация. xml
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mobile_navigation"
app:startDestination="@+id/navigation_home">
<fragment
android:id="@+id/navigation_home"
android:name="ui.main.home.HomeFragment"
tools:layout="@layout/fragment_home">
<action
android:id="@+id/action_navigation_home_to_navigation_category"
app:destination="@id/navigation_category" />
</fragment>
<fragment
android:id="@+id/navigation_order"
android:name="ui.main.order.OrderFragment"
tools:layout="@layout/fragment_order" />
<fragment
android:id="@+id/navigation_cart"
android:name="ui.main.cart.CartFragment"
tools:layout="@layout/fragment_cart" />
<fragment
android:id="@+id/navigation_category"
android:name="ui.main.home.category.CategoryFragment"
tools:layout="@layout/fragment_category">
<argument
android:name="id"
android:defaultValue="0"
app:argType="integer" />
<argument
android:name="categoryList"
app:argType="net.model.Category[]" />
</fragment>
</navigation>