其他分享
首页 > 其他分享> > 不要使用Android导航组件在后堆栈中包含片段

不要使用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