处理 Android 导航组件中的向上按钮



我在使用 Android 导航组件设置的主活动中有两个片段 A 和 B。 片段 A 包含一个回收器视图,在该视图中,项目单击将导航到片段 B。

问题是当我单击片段 B 内的向上按钮时,它不会导航回片段 A,而是会重新加载片段 B。它只会在第二次单击时导航回来。与后退按钮的行为相同。

一旦我设法导航回片段 A,当我单击一个项目转到片段 B 时,我会收到以下异常:

java.lang.IllegalArgumentException: navigation destination com.example.sampleapp:id/action_accountSelectionFragment_to_cameraSelectionFragment is unknown to this NavController

这是最新版本的已知错误吗?我在 2.2.0-alpha01 上

以下是我实现导航的方式:

MainActivity.kt

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val navController = findNavController(R.id.nav_host_fragment)
setupActionBarWithNavController(navController)
}
override fun onSupportNavigateUp() = 
findNavController(R.id.nav_host_fragment).navigateUp()

FragmentA :当我单击回收器视图中的项目时调用的回调方法

private fun goToCameraSelectionActivity(accountId: Int, accountName: String) {
findNavController().navigate(
AccountSelectionFragmentDirections.actionAccountSelectionFragmentToCameraSelectionFragment(accountName, accountId)
)
}

我尝试过玩"popTo",但问题仍然存在。

我调用后问题已修复

findNavController().navigate(
AccountSelectionFragmentDirections.actionAccountSelectionFragmentToCameraSelectionFragment(accountName, accountId)
)

在我的适配器中,在经过我的 MVI 架构的循环后,打开 onClickListener(单击 -> 意图 -> 状态 -> 导航(。

组件似乎存在计时问题。

相关内容

  • 没有找到相关文章

最新更新