android - 检测导航组件中的弹出

标签 android navigation android-architecture-navigation navigation-architecture

在导航组件中,如何检测 fragment 是否从弹出事件中被带到前面?

我从 A 到 B,现在我使用返回键关闭 B,它返回到 A,现在在 A(在 onViewCreated 事件中)我想检测它来自 B。

最佳答案

如果我们使用单个 NavController。

findNavController((R.id.nav_host_fragment)
    .addOnDestinationChangedListener{ hostController, destination, _ ->
        val push = currentBackStackSize < hostController.bacStack.size // else pop
        // Then save current backstack size
  }
这个解决方案可能并不总是正确的,但目前我想不出一个边缘案例。请随时纠正我。

关于android - 检测导航组件中的弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55789935/

相关文章:

jquery - 响应式导航在响应模式下激活时搞砸了,然后再次调整大小

android - 使用菜单按钮时的导航组件

android - 从控制台编辑 Firebase 文件元数据

android - 使用链接打开带有 phonegap 和 jquery mobile 的对话框

android - 如何使用按钮、编辑文本框和 if/else 语句设置密码以打开页面 (Android)

iphone - 导航栏添加进度条

java - Jetpack Navigation - 添加 nav_graph.xml 时如何处理依赖警告?

php - 如何使用 java 将长 blob(图像)上传到 mysql 数据库并在 php 中检索?

java - 空连接变量