Как разделить общие действия (или действия) между несколькими навигационными графами? - PullRequest
0 голосов
/ 16 октября 2019

Я использую навигационную библиотеку в своем приложении для Android с несколькими активациями, и я хотел бы знать, есть ли способ разделить некоторые действия (которые открывают определенную страницу с предопределенными аргументами) между несколькими навигационными захватами. Это выглядит так:

  1. Существует ActivityB , для которого нужны аргументы a , b , c inего навигационное действие.
  2. ActivityA имеет NavGraphA , которое открывает ActivityB .
  3. ActivityC имеет NavGraphC , который также открывает ActivityB .

Теперь я хотел бы использовать действие, которое открывает ActivityB в обоих NavGraphA и NavGraphC , желательно без дублирования действия, его аргументов и самого действия в обоих графиках (например, какое-то включение?).

Я знаю, что можно определить ActivityB как элемент активности на обоих графиках, но затем мне нужно снова определить действие с одними и теми же аргументами снова.

Мне нужно будет сделать что-то подобное на обоих графиках:

    <fragment
            android:id="@+id/xyFragment"
            android:name="x.y.fragment"
            android:label="xyFragment" >
        <action
                android:id="@+id/action_xyFragment_to_ActivityB"
                app:destination="@id/activityB" />
    </fragment>
    <activity
            android:id="@+id/activityB"
            android:name="x.y.ActivityB"
            android:label="ActivityB" >
        <argument
                android:name="a"
                app:argType="argument.A" />
        <argument
                android:name="b"
                app:argType="argument.B" />
        <argument
                android:name="c"
                app:argType="argument.C" />
    </activity>

Как видите, я могу объединить эти аргументы в один класс, что уменьшит количество аргументов,но исходная проблема все еще будет там.

Или я могу просто скопировать ее с разными идентификаторами.

Может быть, есть способ как-то включить глобальное действие общего действия в несколько графиков?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...