【问题标题】:Fragment gets recreated on every click in Bottom Nav View implemented using Android Navigation Component Library [duplicate]使用Android导航组件库实现的底部导航视图中的每次点击都会重新创建片段[重复]
【发布时间】:2020-06-26 17:58:05
【问题描述】:

我刚刚开始使用导航组件库。我已经实现了一个底部导航视图并将其与 NavController 连接起来。问题是,每次我单击导航图标时,都会重新创建相关的片段。我希望它重用后堆栈中的片段。谁能给我一个解决方案。

注意:我尝试过使用OnNavigationItemSelecetedListener。它似乎没有覆盖底部导航点击事件。

【问题讨论】:

标签: android android-fragments kotlin navigation-drawer bottomnavigationview


【解决方案1】:

坏消息,导航组件本来是要与 ViewModel 一起使用的,因为它们的姿态在转换后仍然有效。 (我假设你没有使用 ViewModels)

您可以将片段的实例保存在一个变量中,并在它不为空时在 OnCreate 中启动该实例。这更像是一种 hack 而不是一种解决方案,因为不建议这样做,因为它倾向于产生内存泄漏。

我自己也在处理同样的问题,我会在使用计算机后更新我的答案。

【讨论】:

  • 我正在使用 ViewModel。我正在尝试单一活动方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
  • 2022-06-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多