kotlin navController是否清除所有保存的状态?- Jetpack编写

xpcnnkqh  于 2022-11-16  发布在  Kotlin
关注(0)|答案(1)|浏览(158)

在我的应用导航中,我调用了saveState和restoreState,以获得流畅的用户体验,而不是在每次用户导航时反复加载屏幕。但在一个场景中,我不希望出现这种行为。每当一个用户阻止另一个用户时,它就调用popBackStack()离开被阻止的用户配置文件。我现在想要的是,无论他在popBackStack之后结束了什么屏幕()它被重新加载,而不是恢复。因为我想从我的应用程序中的每个列表中隐藏那个被阻止用户的所有内容。
现在,在从被阻止的用户配置文件导航回来后,它仍然在列表中显示该用户的内容,因为屏幕状态是用过时的数据恢复的。
我正在寻找的是一种以编程方式删除所有已保存状态的方法。像navController.clearAllSavedStates()这样的方法将是一个梦想。

nzk0hqpo

nzk0hqpo1#

如果 您 不 想 显示 的 数据 保存 在 相关 用户 backstackentry 中 , 请 尝试 :

navHostController.popBackStack(saveState = false)

中 的 每 一 个
它 应该 删除 所有 保存 的 状态 , 除非 您 在 其他 堆栈 条目 或 Activity 上 保存 了 其中 的 一些 数据

相关问题