Android 正在侦听来自导航组件主机的目标输出

Android 正在侦听来自导航组件主机的目标输出,android,android-fragments,android-architecture-navigation,android-jetpack-navigation,Android,Android Fragments,Android Architecture Navigation,Android Jetpack Navigation,有没有办法监听来自导航目的地的输出值,并让主机决定下一个目的地应该是哪个?我的理解是,每个目的地必须自己决定下一个目的地应该是哪个,哪个目的地与特定流相耦合,并且不允许我们在另一个流中重用它 我希望片段或任何类型的其他导航目的地与功能一样-你给它们输入,它们为你提供输出,你决定下一步去哪里。导航没有任何机制插入你自己的业务逻辑-它只提供导航的较低级别构建块,它无条件地到达你提供的目的地 这将由您决定进行正确导航调用所需的任何逻辑应该在片段本身中的何处,在提供NavDirection实例的View

有没有办法监听来自导航目的地的输出值,并让主机决定下一个目的地应该是哪个?我的理解是,每个目的地必须自己决定下一个目的地应该是哪个,哪个目的地与特定流相耦合,并且不允许我们在另一个流中重用它


我希望片段或任何类型的其他导航目的地与功能一样-你给它们输入,它们为你提供输出,你决定下一步去哪里。

导航没有任何机制插入你自己的业务逻辑-它只提供导航的较低级别构建块,它无条件地到达你提供的目的地


这将由您决定进行正确导航调用所需的任何逻辑应该在片段本身中的何处,在提供NavDirection实例的ViewModel中,在表示存储在,etc..

将片段与其流分离的唯一方法是为片段创建一个ViewModel,在ViewModel中定义一个接口,并为ViewModel中定义的接口注入一些依赖于流的实现,以实际处理这些事件。但是,该实现的范围应限定为表示流的共享NavGraph。。。实际上,只有在NavGraph的NavBackbackEntry的帮助下,才能获得对它的引用。@EpicPandaForce是的,我想这是唯一的方法。我想知道是否有办法避免使用样板文件,但我想如果没有代码生成,我就无法做到。你可以写这个评论作为回答,这样我就可以接受了。顺便说一句,你知道我能不能将一个虚拟机的作用域定义为一个嵌套图吗?你肯定能将一个虚拟机的作用域定义为一个嵌套图。看,是的,我也看到了。谢谢