【问题标题】:Knowing when a fragment is left from / returned to知道何时离开/返回片段
【发布时间】:2014-09-22 06:43:02
【问题描述】:

Android 的 Fragment 的 onResume/onPause 方法与宿主 Activity 的生命周期紧密耦合,如 here 所示。

我想知道的是如何检测片段离开/返回到在应用的导航流中。

例子:

假设我有 MainActivity 和片段 A、B 和 C。

MainActivity 添加片段 A,然后是 B,然后是 C。

我怎么知道片段 B 被留下(我现在看到片段 C)。

另外,一旦我按下返回,我怎么知道片段 B 被恢复了?

编辑:

澄清:我想从片段 B 中知道这一点(类似于 Activity 使用 onPause 和 onResume 的方式)

【问题讨论】:

  • 我想你应该说清楚你想知道哪里?在宿主 Activity 中还是在 Fragment 本身中?
  • 当你说添加片段 A,然后是 B,然后是 C,你的意思是在同一个容器中?和加A一样,先换成B再换成C?
  • 是的,所有片段都添加到同一个容器中

标签: android android-fragments android-lifecycle


【解决方案1】:

试试isDetached()方法link here

分别有isAdded()

【讨论】:

  • 感谢您的回答。从哪里使用 isDetached() / usAdded()?这些是我无法覆盖的最终方法。
  • 您要在哪里进行检查?
  • 刚刚编辑了问题。我想从片段 B 中知道
【解决方案2】:
  1. 您间接地向Fragment LifeCycle提出问题。

  2. 您可以使用Fragment manager跟踪片段导航替换、删除、添加

  3. PopBackStack :从管理器的片段返回堆栈中弹出最后一个片段转换。如果没有要弹出的内容,则返回 false。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    相关资源
    最近更新 更多