不要使用Android导航组件在后堆栈中包含片段
作者:互联网
我正在开发一个用户可以创建事件的应用程序.我希望这样做,以便在他们创建事件之后,后退按钮不会将他们带到创建流程,而是带到创建流程之前的屏幕.就像是:
主屏幕->创建流程->活动总结
然后,如果他们按下后退按钮,我希望它继续前进
事件摘要(后退按钮)主屏幕
我已经接近:
<fragment
android:id="@+id/createMeetFragment"
android:name=".CreateMeetFragment"
android:label="CreateMeetFragment" >
<action
android:id="@+id/action_createMeetFragment_to_meet_detail_graph"
app:destination="@id/meet_detail_graph"
app:popUpTo="@+id/mainFragment" />
</fragment>
这样效果很好,因为它将弹出到主屏幕.我还没有找到关于这些流行为选项的文档,仅this.
根据我的理解,此解决方案的问题在于,它将弹出,直到我们进入MainScreen,无论用户如何创建事件.我更喜欢只在创建流程之前弹出到屏幕的解决方案,以允许创建流程有多个入口点.
解决方法:
I’d prefer a solution that just pops to the screen before the creation
flow, allowing for multiple entry points to the creation flow.
您不应弹出主屏幕,而应跳至包含创建流程的第一个屏幕.
<fragment
android:id="@+id/createMeetFragment"
android:name=".CreateMeetFragment"
android:label="CreateMeetFragment" >
<action
android:id="@+id/action_createMeetFragment_to_meet_detail_graph"
app:destination="@id/meet_detail_graph"
app:popUpTo="@+id/firstCreateFlowFragment"
app:popUpToInclusive="true" />
</fragment>
标签:android-fragments,android-navigation,android-architecture-navigation,android 来源: https://codeday.me/bug/20191108/2009050.html