如何使用导航组件切换到不同后堆栈中的其他片段?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用导航组件切换到不同后堆栈中的其他片段?相关的知识,希望对你有一定的参考价值。
我有3个底部导航选项卡,称为Home, Dashboard, Profile
。
- 在
Home
中,我有Fragment1
和Fragment2
, - 在
Dashboard
中,我有Fragment3
和Fragment4
- [在
Profile
中,我有MyProfile
和EditProfile
。
现在,在Fragment2
中,按钮changeAvatar
可以打开堆栈EditProfile
中的Profile
。因为EditProfile
应该在选项卡Profile
中,所以如果我不想将EditProfile
包含在navGraph
的Home
中,该如何实现该行为?
答案
尝试使用深层链接
导航图。
<fragment
android:id="@+id/editProfileFragment"
>
...
<deepLink
android:id="@+id/deepLink"
app:uri="yourapp://edit/prfile" />
...
</fragment>
在片段中。
findNavController().navigate(Uri.parse("yourapp://edit/prfile"))
以上是关于如何使用导航组件切换到不同后堆栈中的其他片段?的主要内容,如果未能解决你的问题,请参考以下文章
导航架构组件 singleTask 或 singleInstance 在返回堆栈中