Не включайте фрагмент в backstack, используя компонент навигации Android - PullRequest
0 голосов
/ 03 сентября 2018

Я работаю над приложением, в котором пользователи могут создавать события. Я хотел бы сделать так, чтобы после того, как они создали событие, кнопка «Назад» перенесла бы их не в поток создания, а на экран перед потоком создания. Что-то вроде:

Главный экран -> Поток создания -> Сводка событий

Тогда, если они нажмут кнопку "назад", я хочу, чтобы она пошла

Сводка событий (кнопка назад) Главный экран

Я сблизился с:

<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 .

Проблема, с которой я столкнулся в этом решении, заключается в том, что, насколько я понимаю, оно будет появляться до тех пор, пока мы не доберемся до главного экрана, независимо от того, как пользователь попал в создание события. Я бы предпочел решение, которое просто появляется на экране перед процессом создания, позволяя использовать несколько точек входа в процесс создания.

1 Ответ

0 голосов
/ 04 сентября 2018

Я бы предпочел решение, которое просто появляется на экране перед созданием поток, допускающий несколько точек входа в поток создания.

Вы должны всплыть не на главном экране, а на первом экране процесса создания включительно .

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...