OnDestinationChangeListener不适用于活动目标

时间:2019-03-15 13:20:41

标签: android android-architecture-navigation

我在“活动”中将OnDestinationChangedListener附加到NavController上。

它对所有片段目标都适用。但是,当我导航到活动目标时,不会通知我的听众更改。

override fun onStart() {
    super.onStart()
    navFragment.findNavController().addOnDestinationChangedListener { controller, destination, arguments ->
        Log.e("Navigation", "id: ${destination.id} label: ${destination.label}")
    }
}

我如何也可以监听活动目的地的目的地更改?

1 个答案:

答案 0 :(得分:1)

Documentation说:

  

导航组件是为具有一个主要功能的应用程序设计的   具有多个片段目标的活动。主要活动是   与导航图相关联,并包含一个NavHostFragment   负责根据需要交换目的地。在带有   多个活动目的地,每个活动都有自己的导航   图。

所以,现在我认为您必须自己跟踪自己的活动。 :-(导航图似乎完全封装在一个活动中。