- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前在我的项目中使用 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/
我正在编写一个 iPhone 应用程序,但我遇到了一个关于如何管理 View 呈现的问题。事实上,当用户启动应用程序时,会出现一个包含搜索表单的“主页” View 。当用户按下“搜索”按钮时,我想要一
我正在尝试从 VC 转换为嵌入在导航 Controller 中的 VC。 就我的目的而言,这两行代码似乎完成了同一件事,但我想知道它们之间的真正区别是什么以及一个是否对另一个有利。 为此... if
我基本上是在等待 5 秒后尝试导航到其他 fragment 。当我在 onViewCreated 中执行导航过程时,它可以工作,但是当我在 onFinish 中执行时,它给了我下面的错误。 我试图将
我在我的应用程序中使用导航组件,最近它工作正常但是在将项目更新到 AndroidX 之后我收到错误消息 navigation destination DESTINATION_NAME is unkno
我不确定我在这里做错了什么。简单的设置,带有由内部底部栏控制的 fragment 的单个 Activity ,到目前为止一切都很好。开始 fragment 有一个按钮,里面应该导航到另一个 fragm
我正在制作应用程序,它支持不同的设备方向。导航由 Android Jetpack 的 Navigation 进行。横向应用程序主屏幕如下所示。它是列表包装 fragment (它是 NavHostFr
我正在使用新的 android Storyboard来创建应用程序。流程需要如下所示: SplashFragment -> Fragment1 -> Fragment2 以下是 Storyboard(
我正在实现 Espresso 测试。我正在使用带有 NavGraph 范围 ViewModel 的 fragment 。问题是,当我尝试测试 Fragment 时,我得到了一个 IllegalStat
我想将导航 Controller 栏按钮项设置为图像。 我已阅读以下内容 - Add image to a navigationItem's title 我了解如何将其设置为图像。我实际上希望将其设置
我想实现 addOnDestinationChangedListener,但是没有成功。我已经尝试自己实现它,但是 ID 不匹配 NavController mController = Navigat
我基本上为底部导航 View 设置了 3 个 fragment ,所有 fragment 都链接到 activity.xml activity.xml 我放 fragment 标签的地方。 我的 A
试图效仿https://developer.android.com/guide/navigation/navigation-testing ,我有一个预期的错误 org.mockito.excepti
我目前在我的项目中使用 Android 导航架构。它具有可以使用快捷方式启动任何 fragment 的功能。目前我正在使用 NavController 在单击快捷方式时导航到所需的目的地。 但是当我多
我正在寻找的是我的 fragment 是否已经在后堆栈中。 例如,我导航到 Fragment A 到 Fragment B。稍后,我导航到 Fragment B 到 Fragment C。现在,我想
我正在使用导航组件在我的应用程序中导航。它在 fragment 内工作正常,但无法在包含实际导航主机的 Activity 中找到导航主机。 当用户单击 FAB 时,我试图打开一个新 fragment
我在处理多个 NavHost 时遇到问题。这个问题和问的 here 非常相似。 .我认为这个问题的解决方案也会对我有所帮助,但这是 2017 年的帖子,仍然没有答案。 Android 开发者文档没有帮
我在移动应用程序中使用 NavController,其中有一个 fragment ,其中有两个到另一个 fragment 的导航选项。我已在 mobile_navigation.xml 中创建了这两个
我以两种不同的方式在 fragment 之间提供数据传输,第一种是正常工作,而安全数据类型会导致运行时崩溃。我正在使用那个 Android 文档: https://developer.android.
我创建了 AuthHttpProvider,它是一个 Http 包装器,它允许发送 GET/POST/PUT/DELETE 请求并自动向每个请求添加身份验证 token (jwt)。我在我所有的 io
我从侧边菜单启动器启动了一个 ionic 2 应用程序。现在我想将生成的代码移动到应用程序组件(菜单)到一个文件夹中,然后编写一个主组件。当我运行该应用程序时,它向我显示此错误: 原始异常(excep
我是一名优秀的程序员,十分优秀!