Архитектура навигации: как управлять правильной навигацией без использования clearTask, поскольку она устарела - PullRequest
0 голосов
/ 15 ноября 2018

При использовании архитектуры навигации начиная с здесь , здесь clearTask устарела.

Мой сценарий таков: есть 2 экрана входа и регистрации, оба имеют ссылки друг на друга.Таким образом, вы можете перейти к регистрации из входа, а также войти из регистрации. Но на задней панели приложение Press должно быть закрыто.

Это можно сделать, просто добавив clearTask к обоим действиям, как показано ниже.

<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/nv_auth_phase"
    app:startDestination="@id/fragment_login">

    <fragment
        android:id="@+id/fragment_login"
        android:name="com.jobhook.ui.auth.login.LoginFragment"
        android:label="LoginFragment"
        tools:layout="@layout/fragment_login">
        <action
            android:id="@+id/nv_action_login_to_registration"
            app:clearTask="true"
            app:destination="@id/fragment_registration" />

    </fragment>


    <fragment
        android:id="@+id/fragment_registration"
        android:name="com.jobhook.ui.auth.registration.RegistrationFragment"
        android:label="RegistrationFragment"
        tools:layout="@layout/fragment_registration">


        <action
            android:id="@+id/nv_action_registration_to_login"
            app:clearTask="true"
            app:destination="@id/fragment_login" />
    </fragment>
</navigation>

Но так как оно устарелоЯ пробовал другое решение, такое как добавление popUpTo -> Id графика навигации, делая launchSingleTop равным true в обоих действиях .Кажется, в моем сценарии ничего не работает.

Я также проверил этот вопрос , но не нашел решения.

1 Ответ

0 голосов
/ 15 ноября 2018

Вам необходимо использовать в своих действиях следующий код

app:popUpTo="@+id/fragment_login"
app:popUpToInclusive="true"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...