使用导航导航到一个独立的片段

时间:2021-02-18 13:55:47

标签: android android-fragments androidx android-databinding android-jetpack-navigation

我正在开发一个包含后台服务的应用,该服务可能会向用户发送错误或要求采取行动(在应用中,因此没有通知)。为此,我在对话变得复杂之后设计了一些片段。有些使用数据绑定。但我不知道如何正确地将它们集成到导航中。

从图中的任何片段到目标片段创建一个动作感觉是错误的。所以我一直在寻找一种方法来导航到一个甚至可能不包含在 NavGaph 中的片段。深层链接似乎不正确,因为这会向世界打开对该片段的访问,这不是我的愿望。

换句话说,我有片段 A、B、C 和 D。 A、B 和 C 位于 NavigationGraph 中。 D 不在此范围内/未包含在 NavigationGraph 中。 目标是尽可能干净地从 A、B 和 C 导航到 D。 不可能将任何 Fragment (A, B, C) 中的动作添加到所描述的 NavigationGraph 中的 D 或单独的一个,因为这会导致设置大约 30 个附加动作。 也不应通过深度链接或类似方式从应用外部访问 Fragment D。

1 个答案:

答案 0 :(得分:0)

Global actions 适用于这种情况:您有一个目的地 (Fragment D),可以从其他所有目的地(Fragment A 到 C)到达。

Fragment D 的目的地和相应的全局操作可以添加到与其他片段目的地相同的导航图中,并且全局操作只能在您的应用内使用。