OndestinationChangelistener不适用于活动目的地



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

它适合所有碎片目的地。但是,当我导航到活动目的地时,我的听众没有通知更改。

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

我还能聆听活动目的地的目标更改?

文档说:

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

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

最新更新