Я использую навигационное управление (Android Architecture). Я использовал демо-версию и создавал навигационную архитектуру. Но проблема в том, что фрагмент вызывается каждый раз, как: заменить фрагмент, когда вы возвращаетесь из любого фрагмента. Итак, как я могу остановить это, и как я могу установить поведение как Добавить фрагмент вместо замены фрагмента.
Я обнаружил эту проблему в Интернете, но никто не дает мне понять, как добавить / заменить фрагмент в элементе управления навигацией. Я попытался ID фрагмента, чтобы получить подход добавления фрагмента, но не получить успех.
- Это мой навигационный хост 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>
- Я создал одну кнопку, с помощью этой функции я вызываю каждый раз, когда запускаю функцию и меняю фрагмент на фрагмент хоста:
val navController = Navigation.findNavController(activity!!,R.id.navhost_fragment)
navController.navigate(R.id.questionanswer)
// using this i swap the fragment on host fragment.