1

第 2 レベルのフラグメントにディープ リンクしているときに、ナビゲーション UI が正しいボトム ナビゲーション ビュー項目を選択しないという問題が発生しています。

これが私が意味することです:

  • select fragment_reading_lists : 正しい下部ナビゲーション項目が選択されています
  • fragment_reading_listsから移動-> fragment_discover_landing : 正しい下部ナビゲーション項目が選択されています
  • fragment_reading_listsへのディープ リンク: 正しい下部ナビゲーション項目が選択されています
  • !! fragment_discover_landingへのディープ リンク: 正しい下部ナビゲーション項目が選択されていません!!

fragment_discover_landing にディープリンクするとどうなりますか? デフォルトの下部ナビゲーション項目が選択されています。

このインスタンスでどのアイテムを選択する必要があるかをボトム ナビゲーション アダプターに通知する方法はありますか?

ここに私のナビグラフがあります:

<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/mobile_navigation"
    app:startDestination="@id/fragment_home">

    <fragment
        android:id="@+id/fragment_home"
        android:name="com.my.app.fragments.HomeFragment"
        android:label="@string/nav_home"
        tools:layout="@layout/home_fragment">
        <action
            android:id="@+id/action_fragment_home_to_fragment_browse_categories"
            app:destination="@id/fragment_browse_categories" />
    </fragment>

    <fragment
        android:id="@+id/fragment_browse_categories"
        android:name="com.my.app.fragments.BrowseCategoriesFragment"
        android:label="@string/discover_default_header"
        tools:layout="@layout/browse_categories_fragment" />

    <fragment
        android:id="@+id/fragment_reading_lists"
        android:name="com.my.app.fragments.ReadingListHubFragment"
        android:label="@string/nav_readinglists"
        tools:layout="@layout/readinglists_landing">
        <action
            android:id="@+id/action_fragment_reading_lists_to_fragment_discover_landing"
            app:destination="@id/fragment_discover_landing" />
    </fragment>

    <fragment
        android:id="@+id/fragment_browse_library"
        android:name="com.my.app.fragments.BrowseLibraryFragment"
        android:label="@string/nav_library"
        tools:layout="@layout/fragment_mylibrary_all" />

    <fragment
        android:id="@+id/fragment_downloads"
        android:name="com.my.app.fragments.DownloadsFragment"
        android:label="@string/nav_downloads"
        tools:layout="@layout/fragment_mylibrary_offline" />

    <fragment
        android:id="@+id/fragment_discover_landing"
        android:name="com.my.app.fragments.DiscoverLandingFragment"
        android:label="@string/nav_discover_landing"
        tools:layout="@layout/discover_landing_fragment">

        <action
            android:id="@+id/fragment_discover_landing_back_action"
            app:popUpTo="@id/fragment_reading_lists"
            app:popUpToInclusive="false" />
        <argument
            android:name="category"
            android:defaultValue="Latest"
            app:argType="string" />
        <argument
            android:name="searchText"
            app:argType="string" />
        <argument
            android:name="searchMode"
            android:defaultValue="false"
            app:argType="boolean" />
        <deepLink
            android:id="@+id/discover_landing_category"
            app:uri="myApp://discover/category?name={category}" />
    </fragment>
</navigation>

補足: これらのフラグメントはどちらも開始先ではありません。それがホーム フラグメントで、下部のナビゲーションの item1 です。fragment_reading_lists は、下部のナビゲーションにある item2 の最初のフラグメントです

4

1 に答える 1