gpt4 book ai didi

Android,在 fragment/Activity 之外注册奥托事件?

转载 作者:行者123 更新时间:2023-11-30 02:21:37 24 4
gpt4 key购买 nike

Otto 在 Activity 或 fragment 中使用时效果很好,但我可以订阅没有 onPause/onResume/onDestroy< 的类中的事件吗 方法?如果是这样,注销的最佳做法是什么?

最佳答案

Otto 没有检查对象是否已注册的方法。这就是为什么最佳实践说您应该更好地使用您提到的生命周期方法之一。

如果您在这些方法之外注册,您可以定义一个 boolean 字段并将其设置为 true(如果您已经注册了一个对象)。如果此字段为 true,则无需再次注册。不要忘记在完成此对象后注销它(例如,在 Activity.onDestroy() 中,您可以发布一条注销所有此类实例的消息)。

您还可以查看 TinyBus库,它扩展了 Otto 接口(interface)。还有 Bus.hasRegistered(Obejct) 方法,可用于检查对象是否已在总线中注册。它还为组件提供 Wireable API,这些组件监听 Activity 生命周期,并且可以在连接到 Activity 的总线实例被销毁时自行注册或注销。

关于Android,在 fragment/Activity 之外注册奥托事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28436725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com