在导航控制器上添加片段而不是替换片段?

时间:2019-05-15 06:35:19

标签: android android-fragments navigationcontroller

我正在使用导航控件(Android体系结构)。我使用了一些演示并创建了导航架构。但是问题是,片段每次都会被召回,就像:从任何片段返回时都替换片段。因此,如何停止此操作,以及如何设置添加片段而不是替换片段之类的行为。

我在网络上发现了这个问题,但是没有人给我关于如何在导航控件上添加/替换片段的想法。我尝试使用片段ID来获取添加片段的方法,但未成功。

  1. 这是我的导航主机xml:我一次又一次添加一个片段 记录生命周期。
<?xml version="1.0" encoding="utf-8"?>
<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"
            app:startDestination="@id/questionanswer">

            <fragment
                android:id="@+id/questionanswer"
                android:name="com.softtech360.totalservey.fragment.QuestionAnswer"
                android:label="fragment_first"
                tools:layout="@layout/questionanswer" >
                <action
                    android:id="@+id/action_questionanswer_to_questionanswer"
                    app:destination="@id/questionanswer"

                    />
            </fragment>
</navigation>
  1. 我创建了一个按钮,每次触发该函数并在主机片段上交换片段时,都会调用此按钮:
val navController = Navigation.findNavController(activity!!,R.id.navhost_fragment)
                            navController.navigate(R.id.questionanswer)
        // using this i swap the fragment on host fragment.

0 个答案:

没有答案