我在屏幕 A 中使用分页 3 惰性列从 api 加载一些数据,当我单击惰性列的项目进行导航时,它导航到屏幕 B,但当返回到屏幕 A 时,它会调用 Api,我在其中重新加载所有组件。
解决方案可能有很多,但我需要一个适当的标准解决方案来处理如何在从屏幕 B 返回时保留屏幕 A 所有组件而不重新加载。(例如,行为就像从一个活动导航到另一个活动并返回时保持全部相同)
提前致谢
导航代码在屏幕 A 中使用以导航到屏幕 B
navController.navigate(NavigationScreen.NewsDetailsScreen.route)
从屏幕 B 返回到 A
navController.navigateUp()
所以,我猜你没有使用视图模型?数据加载/重新加载、存储的最佳解决方案是使用它们,但是当然,您可以在没有它们的情况下做一些事情。
您可能正在使用 Remember,但每次您从屏幕导航时,Remember 都会重新组合。有一个函数 RememberSaveable 可以在更改之间保存您的数据。阅读更多内容:文档