我在导航栏中的片段之间导航时遇到了问题。这是我的情况:我有3个主要片段:主页,列表,设置****主页有2个子片段:添加和编辑所以,如果我用导航栏在3个主要片段之间导航一切都好,那么如果我进入2个“子片段”中的一个,然后,(而不是“导航向上”之前,然后改变主要)我直接选择其他2个“主要”之一,我会去那里,但是如果我回到列表,我会看到子片段。我必须向上导航才能再次看到列表。我想要的是如果我在其中一个“子”中切换主片段(List的儿子),然后我再次选择List,我想看到List,而不是我离开的sub。
我的代码:
导览
<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 hereenter image description here显示器
我想要的是如果我切换主片段时,我的一个“子”(儿子的列表),然后再次我选择列表,我想看到列表,而不是子,我离开。
1条答案
按热度按时间uqxowvwt1#
如果你想按下
bottomNav
项中的一个并从默认位置开始,你需要弹出其他目标。使用下面的代码来实现它: