【问题标题】:How to avoid fragment recreation when tap back button using navigation architecture actions?使用导航架构操作点击返回按钮时如何避免片段重新创建?
【发布时间】:2019-06-13 10:29:43
【问题描述】:

我正在使用 android studio 导航组件创建一些片段并使用操作在它们之间切换。问题是每次我点击返回按钮从 Fragment2 返回到 Fragment1 时,都会重新创建 Fragment 1。

我想避免这种情况。

我找到了不使用导航组件的解决方案,只需将“.replace”替换为“.add”,但找不到任何有关如何使用导航组件执行相同操作的信息。

【问题讨论】:

  • 目前有什么解决方案?
  • 有一个函数叫做 navigateUp()。这将导航到 backstack 中的最后一个片段而不重新创建它。调用:findNavController().navigateUp()

标签: android navigation fragment back recreate


【解决方案1】:

我认为重新创建您的片段 1 是正常的事情,我认为您有一个片段容器。当您从片段 1 移动到片段 2 时,您使用 FragmentTransaction.commit() 将片段 1 替换为片段 2 布局 如果要控制 App 的后退按钮,可以在 Mainactivity 类中重写 Onbackpresed 方法。 当你按下返回按钮时你具体想做什么??

【讨论】:

  • 我也面临这个问题。覆盖 onBackpress 不是解决方案,我们一定会错过一些东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-21
相关资源
最近更新 更多