gpt4 book ai didi

android - 使用 NavController 导航时只允许一个实例

转载 作者:行者123 更新时间:2023-12-04 11:06:00 24 4
gpt4 key购买 nike

我目前在我的项目中使用 Android 导航架构。它具有可以使用快捷方式启动任何 fragment 的功能。目前我正在使用 NavController 在单击快捷方式时导航到所需的目的地。
但是当我多次单击快捷方式时,每次都会创建一个新的 fragment 实例。
所以,我的问题是,有没有办法在使用 NavController 导航到 fragment 时只接受一个 fragment 实例?
我在谷歌上搜索了很多次,但一无所获。提前致谢。

最佳答案

您可以使用 by navGraphViewModels代表
最重要的是为您的 View 设置 id 以便在配置更改期间保存状态。这在官方文档中没有提到。
默认情况下,在配置更改(旋转和...)期间不会保存 fragment 导航。
ViewModel 将在配置更改后保持不变,您可以在那里保存状态然后恢复它。
还要检查这些链接:
https://code.luasoftware.com/tutorials/android/android-jetpack-navigation-lost-state-after-navigation/

Android navigation component: how save fragment state

关于android - 使用 NavController 导航时只允许一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55247986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com