如何导航到其他“活动”中的“片段”目的地?

时间:2018-10-10 17:19:27

标签: android android-navigation androidx android-architecture-navigation

这是我第一次尝试使用AndroidX导航组件,但对于这种情况我似乎找不到答案。 我有2个活动:MainActivityShellActivityMainActivity有一个导航抽屉和一个自定义工具栏(windowActionBar=false),并将托管一些顶层片段。 ShellActivity使用标准工具栏(windowActionBar=true),并将托管一些较低级别的片段,例如设置和一些 detail 类型的内容。

如何为上方设置导航图,以及如何从MainActivity/Fragment1导航到ShellActivity/FragmentB

我是否只是将每个活动设置为一个独立的图,并使用参数调用它以加载所需的片段,或者是否有适当的方式来做到这一点?

为什么以这种方式设置活动?

因为顶层片段可以直接通过导航抽屉来回导航,而底层细节片段则不能访问导航抽屉(它们是次要目的地,没有顶层片段引导它们就毫无意义)。 ShellActivity还具有setDisplayHomeAsUpEnabled=true,这将与导航抽屉的操作冲突。

更新

  1. 由于没有起始目的地,因此无法将ShellActivity设置为自己的图形。
  2. 我也尝试在导航抽屉和setDisplayHomeAsUp之间进行切换,但是一旦启用setDisplayHomeAsUp,后退箭头单击将不会触发任何回调。 / li>

2 个答案:

答案 0 :(得分:0)

  

我是否只是将每个活动设置为一个独立的图并使用参数调用它以加载所需的片段,或者是否有适当的方法来做到这一点?

就我而言-是

无论如何,您的方法听起来都不正确,-您的业务逻辑中是否有任何内容可以使您以这种方式实现导航? (如果仅是关于操作栏,我建议将其移到片段上)

答案 1 :(得分:0)

只需要一项活动就可以处理所有需要的片段吗?在片段之间切换时,可以更新工具栏。

相关问题