У меня есть активность (main
) с тремя фрагментами (первым, вторым и третьим). Я включил 3 фрагмента в свою деятельность (activity_main.xml
), используя <include layout="@layout/content_main"/>
. content_main.xml
использует FragmentContainerView
с id = nav_host_fragment
. А это мой nav_graph.xml
:
<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/FirstFragment">
<fragment
android:id="@+id/FirstFragment"
android:name="com.example.makegroups.FirstFragment"
android:label="@string/first_fragment_label"
tools:layout="@layout/fragment_first">
<action
android:id="@+id/action_FirstFragment_to_SecondFragment"
app:destination="@id/SecondFragment" />
</fragment>
<fragment
android:id="@+id/SecondFragment"
android:name="com.example.makegroups.SecondFragment"
android:label="@string/second_fragment_label"
tools:layout="@layout/fragment_second">
<action
android:id="@+id/action_SecondFragment_to_FirstFragment"
app:destination="@id/FirstFragment" />
<action
android:id="@+id/action_SecondFragment_to_ThirdFragment"
app:destination="@id/ThirdFragment" />
</fragment>
<fragment
android:id="@+id/ThirdFragment"
android:name="com.example.makegroups.ThirdFragment"
android:label="@string/third_fragment_label"
tools:layout="@layout/fragment_third">
<action
android:id="@+id/action_ThirdFragment_to_FirstFragment"
app:destination="@id/FirstFragment" />
</fragment>
</navigation>
У меня есть floatingactionbutton
в моем действии (сначала first fragment
starts), и когда я нажимаю на него, я открываю third fragment
. На third fragment
у меня есть кнопка (далее) для перехода к first fragment
, и когда я нажимаю на нее, я возвращаюсь к first fragment
, используя:
Fragment frg = new FirstFragment();
FragmentManager fm = requireActivity().getSupportFragmentManager();
Теперь (пока я нахожусь в first fragment
), я нажимаю кнопку next
(другая кнопка для перехода к second fragment
), и приложение вылетает. Я обнаружил эту ошибку:
java.lang.IllegalStateException: View androidx.constraintlayout.widget.ConstraintLayout{c9572fa V.E...... ........ 0,0-1440,2112} does not have a NavController set
Почему я получаю эту ошибку? -Я пробовал эти предложения здесь, но безуспешно.
Я использую Java.
РЕДАКТИРОВАТЬ: Прочтите последний комментарий с @Zain, чтобы узнать, почему я получил ошибку.