要解决Android导航控制器在BottomSheetDialogFragment关闭后目标未发生变化的问题,你可以采取以下步骤:
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
...
// 设置导航目标
findNavController().setGraph(R.navigation.your_navigation_graph)
...
}
override fun onDismiss(dialog: DialogInterface) {
super.onDismiss(dialog)
// 清除导航目标
findNavController().navigateUp()
}
这样,在BottomSheetDialogFragment关闭后,导航控制器的目标将被清除,确保在下一次导航时会重新使用正确的目标。