不要使用 Android 导航组件在后台堆栈中包含片段
Do not include fragment in backstack using Android Navigation Component
我正在开发一款用户可以创建活动的应用程序。我想这样做,以便在他们创建事件之后,后退按钮不会将他们带到创建流程,而是带到创建流程之前的屏幕。类似于:
主屏幕 -> 创建流程 -> 事件摘要
然后,如果他们按下后退按钮,我希望它继续
活动摘要(后退按钮)主屏幕
我已经接近:
<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。
我对这个解决方案的问题是,据我所知,它会弹出,直到我们到达主屏幕,无论用户如何创建事件。我更喜欢在创建流程之前弹出屏幕的解决方案,允许创建流程的多个入口点。
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>
我正在开发一款用户可以创建活动的应用程序。我想这样做,以便在他们创建事件之后,后退按钮不会将他们带到创建流程,而是带到创建流程之前的屏幕。类似于:
主屏幕 -> 创建流程 -> 事件摘要
然后,如果他们按下后退按钮,我希望它继续
活动摘要(后退按钮)主屏幕
我已经接近:
<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。
我对这个解决方案的问题是,据我所知,它会弹出,直到我们到达主屏幕,无论用户如何创建事件。我更喜欢在创建流程之前弹出屏幕的解决方案,允许创建流程的多个入口点。
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>