我们已经实现了底部导航,如下所述:
https://developer.android.com/guide/navigation/navigation-ui#bottom_navigation
https://medium.com/androiddevelopers/navigation-multiple-back-stacks-6c67ba41952f
我们使用的是导航版本2.4.1,它支持多个现成的backstack。这将保存片段状态,以便在使用bottomnav从主片段A -〉B -〉C -〉B导航时,片段B的状态将被保存,并在返回时恢复。这是预期的和许多请求的行为。
但是,对于底部导航菜单中的一个片段,我希望有不保存状态的可能性。这是由于使用对讲进行导航时的一些混乱行为。在导航框架中是否有一种方法可以设置一个标志,以不保存单个片段的状态?或者有任何其他方法可以通过重置片段onDestroy/中的UI元素,以编程方式清除savedstate,而无需实际“手动”执行此操作在简历或类似?
1条答案
按热度按时间de90aj5v1#
我所做的只是使用相同的
androidx.navigation.ui.NavigationUI.setupWithNavController
逻辑,但更改了saveState和其他特定于我的用例的逻辑。