所以我在AAC导航方面遇到问题。我在一项活动中有多个片段。我在MainActivity中膨胀菜单选项,以便每个片段都可以访问打开设置的菜单项。问题在于,每当我按下片段上的“后退”按钮时,它都不会返回到启动它的片段。它回到原始片段。 有没有办法确保这种行为得到保证?谢谢
答案 0 :(得分:1)
如果要通过菜单项ID调用片段,请在如下所示的活动中进行操作。它将解决您的问题。
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return NavigationUI.onNavDestinationSelected(item,navController) || super.onOptionsItemSelected(item)
}
以及您的菜单项:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/settingsFragment"
android:title="Settings"
android:menuCategory="secondary"
app:showAsAction="never" />
MenuCategory =“ secondary”不会弹出堆栈以启动目标。
答案 1 :(得分:0)
您应该使用FragmentManager并将片段添加到BackStack。
我建议您看一下这篇文章:Go back to the previous fragment