NavHost不在MainActivity中时,Android onSupportNavigateUp

时间:2020-01-12 23:16:38

标签: android android-fragments android-jetpack android-navigation

我有一个活动FragmentContainerView。在FragmentContainerView中,我有一个NavHostFragment。我想在onSupportNavigateUp中实现NavHostFragment

class MenuNavHostFragment : Fragment() {
    fun onSupportNavigateUp(): Boolean {
    return NavigationUI.navigateUp(navController,null)
    }
}

在MainActivity.kt

private lateinit var menuNavHostFragment: MenuNavHostFragment
override fun onSupportNavigateUp(): Boolean {
    return menuNavHostFragment.onSupportNavigateUp()
}

在fragment_menu_nav_host中

...
tools:context=".View.MenuNavHostFragment">

<fragment
    android:id="@+id/fragment_menu_nav_host"
    android:name="androidx.navigation.fragment.NavHostFragment"
...

当我按下“后退”按钮时,如果我希望它在导航堆栈中返回上一步,则应用程序将被破坏。

我该如何解决?

3 个答案:

答案 0 :(得分:0)

检查Mozilla

答案 1 :(得分:0)

如果要返回,请使用findNavController.navigateUp()函数

答案 2 :(得分:0)

根据您的程序,将以下代码替换为以下代码:

{{1}}