我正在使用导航组件来开发我的应用,在更新项目到 AndroidX
后,当我从目标页面中使用 navController.popBackStack()
关闭页面时,如果该目标页面之前被关闭过,就会出现错误 navigation destination DESTINATION_NAME is unknown to this NavController
。但是如果我从 MainActivity
关闭 DESTINATION 页面,则不会出现错误。只有在使用 popBackStack
从页面本身关闭 DESTINATION 页面时才会出现错误。
viewModelOfActivity.handleBackButton.observe(this, Observer {
Navigation.findNavController(requireActivity(), R.id.main_nav_host).popBackStack()
//CALLING popBackStack() HERE CAUSING PROBLEM WHEN REOPNING THIS DESTINATION(or frg ) AGIAN
})
MainActivity
override fun onBackPressed() {
if (myViewModel.isDefaultBehaviour.value == true) {
super.onBackPressed()
} else{
myViewModel.handleBackButton.value=true
//NO ERROR IF HANDLE BACK BUTTON HERE ie->findNavController(R.id.main_nav_host).popBackStack()
//INSTEAD OF myViewModel.handleBackButton
}
}
我已经查看了相关的问题,但没有获得帮助。类似问题。
注意:我正在使用最新版本的导航库(alpha05)。