【发布时间】:2022-12-11 17:34:29
【问题描述】:
我在 Navbar 中的片段之间导航有问题。 这是我的情况: 我有 3 个主要片段:家,列表,设置 家有 2 个子片段:添加和编辑 因此,如果我使用导航栏在 3 个主要片段之间导航一切正常,那么如果我进入 2 个“子片段”之一,然后(而不是之前“向上导航”然后更改主片段)我直接选择另一个2“主要”我会去那里,但如果我回到列表,我会看到子片段。 我必须向上导航才能再次看到列表. **我想要的是**如果我在其中一个“潜艇”(的儿子)内切换主片段列表),然后我再次选择列表,我想查看列表而不是我留下的子项。
我的代码:
导航
<fragment
android:id="@+id/homeFragment"
android:name="com.somi.fidelitycardconnect.ui.home.HomeFragment"
android:label="Home"
tools:layout="@layout/fragment_home" />
<fragment
android:id="@+id/settingsFragment"
android:name="com.somi.fidelitycardconnect.ui.settings.SettingsFragment"
android:label="Impostazioni"
tools:layout="@layout/fragment_settings" />
<fragment
android:id="@+id/listFragment"
android:name="com.somi.fidelitycardconnect.ui.list.ListFragment"
android:label="Lista clienti"
tools:layout="@layout/fragment_list">
<action
android:id="@+id/action_listFragment_to_addFormFragment"
app:destination="@id/addFormFragment" />
<action
android:id="@+id/action_listFragment_to_editFormFragment"
app:destination="@id/editFormFragment" />
</fragment>
<fragment
android:id="@+id/addFormFragment"
android:name="com.somi.fidelitycardconnect.ui.form.AddFormFragment"
android:label="Aggiungi cliente"
tools:layout="@layout/fragment_add_form">
</fragment>
<fragment
android:id="@+id/editFormFragment"
android:name="com.somi.fidelitycardconnect.ui.form.EditFormFragment"
android:label="Informazioni cliente"
tools:layout="@layout/fragment_edit_form">
</fragment>
主要活动:
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val navView: BottomNavigationView = binding.navView
val navController = findNavController(R.id.nav_host_fragment_activity_main)
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
appBarConfiguration = AppBarConfiguration(
setOf(
R.id.homeFragment,
R.id.listFragment,
R.id.settingsFragment
)
)
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
}
override fun onSupportNavigateUp(): Boolean {
val navController = findNavController(R.id.nav_host_fragment_activity_main)
return navController.navigateUp(appBarConfiguration)
|| super.onSupportNavigateUp()
}
}
enter image description here enter image description here
**我想要的是**如果我在其中一个“潜艇”(的儿子)内切换主片段列表),然后我再次选择列表,我想查看列表而不是我留下的子项。
【问题讨论】:
标签: android kotlin android-navigation-graph