【问题标题】:How to get last onPause fragment trigger?如何获得最后一个 onPause 片段触发器?
【发布时间】:2015-10-05 07:27:50
【问题描述】:

我有包含 3 个片段的活动。 当activity onPaused 3 片段设置一个值到一个变量。

我想在 onPause 活动中检查该变量。

但是onPause活动先调用然后片段onPause调用的问题。

如何解决?

所以我需要在所有 onPause 函数完成运行后运行一个函数?

谢谢

【问题讨论】:

    标签: android android-activity fragment android-lifecycle


    【解决方案1】:

    您可以在片段中定义一个接口并让活动实现该接口。然后在该接口中定义一个类似variableWasSet() 的方法,并在您设置变量后 在片段中的onPause() 中调用它。这是communication between fragments 的推荐方式。

    或者使用事件总线系统在片段和活动之间进行通信。 喜欢ottoEventBus

    【讨论】:

    • 感谢您的回答。第一种方法会多次调用 onPause,所以它不适合我的需要。关于第二种方法:我会看看这个。
    • 我猜这是因为您有 3 个相同片段的实例?使用事件总线会产生同样的效果。如果您确实有 3 个实例,那么您将不得不通过检查“某事”是否已经完成来自己处理。
    • 实际上我有超过 3 个实例。并且碎片的数量根据用户的活动而改变。所以处理起来会有点困难。谢谢你的时间
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多