Android Возможно ли иметь несколько файлов nav_graph? - PullRequest
0 голосов
/ 24 апреля 2020

Итак, я использовал Jetpack navigation, и количество фрагментов продолжало расти.

Мы можем разделять фрагменты на разных навигационных графах , как описано в этом документе

jetpack nav graph docs

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

nav_graph_start. xml

<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/nav_graph_start"
    app:startDestination="@id/splashScreen"
    tools:ignore="UnusedNavigation">

    <fragment
        android:id="@+id/splashScreen"
        android:name="com.timetoface.android.splash.SplashFragment"
        android:label="Login Fragment"
        tools:layout="@layout/fragment_splash">

        <action
            android:id="@+id/action_splash_to_login"
            app:destination="@id/nav_graph_auth"
            />
        <action
            android:id="@+id/action_splash_to_home"
            app:destination="@id/nav_graph_home"
            />
    </fragment>
</navigation>

nav_graph_auth. xml

<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/nav_graph_auth"
    app:startDestination="@id/emailLoginScreen"
    tools:ignore="UnusedNavigation">
................................
</navigation>

nav_graph_home. xml

<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/nav_graph_home"
    app:startDestination="@id/emailLoginScreen"
    tools:ignore="UnusedNavigation">
................................
</navigation>

навигационный пункт назначения com.app. android: id / nav_graph_home ссылается на действие com .app. android: id / action_splash_to_home неизвестен этому NavController

Итак,

Являются ли файлы мультитул 10 с ультипольными графами навигации еще не поддерживаются ?

Мне не хватает чего-то, что я должен изменить?

1 Ответ

1 голос
/ 24 апреля 2020

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

пример: first_graph. xml

<include app:graph="@navigation/second_graph" />

затем установите действие для идентификатора включенного графика

 <action
        android:id="@+id/action_fragment_to_second_graph"
        app:destination="@id/second_graph" />

Также вы можете использовать расширение для использования нескольких объединенных графиков.

Взгляните на this

На самом деле каждое действие должно иметь свой собственный навигационный граф.

...