我正在使用底部导航。从菜单A的画面到另一个画面的转换,而不是从菜单A到另一个的画面转换,如下。
菜单 A(片段)-> B 屏幕(片段)-> C 屏幕(片段)-> B 屏幕(片段)
我连接了这些屏幕转换nav_graph
我正在使用BottomNavigation
. 从画面的画面menu A
到另一画面的转变,而不是从菜单A到另一画面的画面转变如下。
菜单 A(片段)-> B 屏幕(片段)-> C 屏幕(片段)-> D 屏幕(片段)
我连接了这些屏幕转换nav_graph
但是,从D
到的画面转换C
没有连接,但可以使用 切换画面view.findNavController.navigate()
。
我认为如果不连接到nav_graph
.
这怎么可能?
更新
nav_graph.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/calendar">
<fragment
android:id="@+id/calendar"
android:name="com.example.writeweight.fragment.CalendarFragment"
android:label="fragment_calendar"
tools:layout="@layout/fragment_calendar" >
</fragment>
<fragment
android:id="@+id/list"
android:name="com.example.writeweight.fragment.WorkoutListFragment"
android:label="fragment_workout_list"
tools:layout="@layout/fragment_workout_list" />
<!-- menu A fragment -->
<fragment
android:id="@+id/write_home"
android:name="com.example.writeweight.fragment.WriteRoutineHomeFragment"
android:label="fragment_write_routine_home"
tools:layout="@layout/fragment_write_routine_home" >
<action
android:id="@+id/action_write_home_to_bodyPartDialog"
app:destination="@id/bodyPartDialog" />
</fragment>
<!-- B screen -->
<dialog
android:id="@+id/bodyPartDialog"
android:name="com.example.writeweight.fragment.BodyPartDialogFragment"
android:label="BodyPartDialogFragment"
tools:layout="@layout/fragment_body_part_dialog">
<action
android:id="@+id/action_bodyPartDialog_to_write"
app:destination="@id/write"/>
</dialog>
<!-- C screen -->
<fragment
android:id="@+id/write"
android:name="com.example.writeweight.fragment.WritingRoutineFragment"
android:label="WritingRoutineFragment"
tools:layout="@layout/fragment_writing_routine">
<action
android:id="@+id/action_write_to_bodyPartDialog"
app:destination="@id/bodyPartDialog" />
<argument
android:name="title"
app:argType="string"
android:defaultValue="" />
</fragment>
<!-- D screen -->
<fragment
android:id="@+id/workoutListTabFragment"
android:name="com.example.writeweight.fragment.WorkoutListTabFragment"
android:label="fragment_workout_list_tab"
tools:layout="@layout/fragment_workout_list_tab" />
</navigation>