我的项目
- Kotlin中碎片的单一活性模式。
Navigation component
+bottom navigation view
组合在一起。- 底部导航视图中有四个选项卡(片段)。
我的问题是改变底部导航中的每个选项卡,然后重新创建每个片段,这是由于应用程序滞后。
所以我的目标是每个片段只生成一个示例
我尝试的是:
1.为grap.xml
中的选项卡片段添加app:launchSingleTop="true"
。不起作用。
1.这个想法是,如果标签片段可以弹出备份,然后直接使用它或创建新的。但这只是有时工作。有时标签片段不重新创建,但有时是!
我认为原因是弹出回栈清除它一段时间?不确定。
binding.bottomNavigationView.setOnItemSelectedListener { item: MenuItem ->
if (!navController.popBackStack(item.itemId, false)) {
NavigationUI.onNavDestinationSelected(item , navController)
}
true
}
1.我用navController.navigate(item.itemId, null, NavOptions.Builder().setPopUpTo(item.itemId, false).build())
替换了NavigationUI.onNavDestinationSelected(item , navController)
,仍然不起作用。
知道吗?谢谢!
1条答案
按热度按时间jaql4c8m1#
只需添加这段代码以避免重复