NavDeepLinkBuilder не перенаправляет на целевой фрагмент - PullRequest
1 голос
/ 05 августа 2020
• 1000 NavDeepLinkBuilder.

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

<fragment
        android:id="@+id/myFragment"
        android:name="com.view.brands.MyFragment"
        android:label="BrandOffersFragment"
        >

    <argument
            android:name="parceableObject"
            app:argType="com.view.brands.ParceableObject"
            />
    <argument
            android:name="type"
            app:argType="string"
            />
    <argument
            android:name="is_card"
            android:defaultValue="false"
            app:argType="boolean"/>
    <action
            android:id="@+id/action_myFragment_to_secondFragment"
            app:destination="@id/secondFragment"
            >
        <argument android:name="secondParceable"
                app:argType="com.view.brands.SecondParceable"/>
        <argument
                android:name="parceableObject"
                app:argType="com.view.brands.ParceableObject"
                />
        <argument
                android:name="type"
                app:argType="string"
                />
    </action>
    <action
            android:id="@+id/action__myFragment_to_thirdFragment"
            app:destination="@id/ThirdFragment"
            >
        <argument
                android:name="thirdParceable"
                app:argType="com.view.network.parceable.ThirdParceable"
                />
    </action>
    <action
            android:id="@+id/action_myFragment_to_thirdActivity"
            app:destination="@id/ThirdActivity"
            >
        <argument
                android:name="card"
                app:argType="com.network.apiinterface.Card"
                />
        <argument
                android:name="id"
                app:argType="string"
                />
    </action>
    </fragment>

1 Ответ

0 голосов
/ 06 августа 2020

Вы не используете правильный аргумент для com.view.brands.MyFragment

<fragment
        android:id="@+id/myFragment"
        android:name="com.view.brands.MyFragment"
        android:label="BrandOffersFragment">

    <argument
            android:name="parceableObject"                  // issue start from here
            app:argType="com.view.brands.ParceableObject"/>
    <argument
            android:name="type"
            app:argType="string"/>
    <argument
            android:name="is_card"
            android:defaultValue="false"
            app:argType="boolean"/>
</fragment>

Что вы передаете при создании аргумента для MyFragment.

val args = Bundle()
args.putParcelable("parceable",parceableObject)   //must be "parceableObject"
.....

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

удачного кодирования!

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