android - 带有导航组件的 startDestination 中的按钮返回

标签 android kotlin android-architecture-navigation

我需要带有导航图的第二个 Activity ,并在工具栏中有一个返回按钮到第一个还包含导航图的 Activity

在我的第二个 Activity 中,如果出现箭头后退按钮但在 Activity 编号中,则在输入 fragment 时我有 onSupportNavigateUp 和 setupActionBarWithNavController。

尝试在 Activity 和 fragment 中添加 setHomeButtonEnabled 和 setDisplayHomeAsUpEnabled 并且如果按钮出现回来,但是当我在前面输入一些 fragment 并返回 fragment 时 startDestination 按钮消失

我只需要将按钮保留在 Activity 中并解决我的问题

最佳答案

您可以通过指定 setFallbackOnNavigateUpListener 来实现:

private fun setupToolbar() {
    val navController = findNavController(R.id.nav_host_fragment)

    val appBarConfiguration =
        AppBarConfiguration.Builder()
            .setFallbackOnNavigateUpListener { onNavigateUp() }
            .build()

    dataBinding.toolbar.apply {
        setupWithNavController(navController, appBarConfiguration)
    }
}

然后在 Activity 中做任何你想做的事情:
override fun onNavigateUp(): Boolean {
    finish()
    return true
}

关于android - 带有导航组件的 startDestination 中的按钮返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54564364/

相关文章:

java - 在Android导航架构中,如何从主机( Activity )调用目标 fragment 的方法之一

android - 通过一项 Activity 获得调查中的所有问题和答案,并通过Kotlin发送电子邮件

gradle - 与Kotlin一起使用的Mockito无法正常工作,因为它仍在调用原始方法

android - 动态功能模块导航 IllegalStateException : The included <navigation>'s id is different from the destination id

android - 为 map R.java 文件错误引用 google play 服务

android - 更改日期选择器android下方日期选择器按钮的文本颜色

java - 在 onClickListener 中显示 Toast

java - 已编辑 : How can I change date format of Date object?

android - 导航组件 popBackStack() 是否保留 fragment 状态?

android - Jetpack 导航到一个共同的目的地