繁体   English   中英

是否可以使用Android导航架构组件(Android Jetpack)从“非开始”片段开始?

[英]Is it possible to start with a “non-start” fragment using Android Navigation Architecture Component(Android Jetpack)?

所以我有以下导航图:

Fragment A (start) --> Fragment B

所以对于某些情况(firebase通知),我需要直接启动Fragment B ,从通知中传递数据。 现在,这有效。 但是,当我按下后退按钮时,会导致崩溃。 是因为前导片段( Fragment A )不在堆栈中吗? 如果是这样,有没有办法妥善处理这个问题。 基本上,我需要backPressed动作来启动Fragment B直接启动而不通过Fragment A的情况下启动片段( Fragment A )。

以下是我的图表的摘要:

    <fragment
        android:id="@+id/homeFragment"
        android:name="dita.dev.myportal.ui.home.HomeFragment"
        android:label="Home"
        tools:layout="@layout/fragment_home">
        <action
            android:id="@+id/action_homeFragment_to_messageDetailFragment"
            app:destination="@id/messageDetailFragment"
            app:exitAnim="@anim/fade_out_animation" />
    </fragment>
    <fragment
        android:id="@+id/messageDetailFragment"
        android:name="dita.dev.myportal.ui.messages.details.MessageDetailFragment"
        android:label="Message"
        tools:layout="@layout/fragment_message_detail">
        <argument
            android:name="title"
            app:argType="string" />
        <argument
            android:name="message"
            app:argType="string" />
    </fragment>

我希望链接有所帮助。 https://developer.android.com/guide/navigation/navigation-deep-link

深层链接允许合成后堆栈。 引自网站的话说,“这意味着当用户从深层链接目的地按下”返回“按钮时,他们会导航回导航堆栈,就好像他们从入口点进入应用程序一样。” 也许尝试为Fragment B创建一个深层链接会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM