gpt4 book ai didi

android - 在自定义 View 中使用 Broadcast Receiver 的替代方法是什么?

转载 作者:行者123 更新时间:2023-11-30 01:47:40 25 4
gpt4 key购买 nike

我看到人们不建议在自定义 View 中使用广播接收器,因为它没有明确的生命周期方法。但是,如果我在 onAttachedToWindow() 中注册广播接收器并取消注册 onDetachedFromWindow(),它将按预期工作。要实现一个功能,其中 fragment/Activity 中的自定义 View 可以通过监听另一个 View /fragment/Activity 发送的事件来更改其 View 状态,我只能想到 LocalBroadcastReceiver。

我不想在自定义 View 的父上下文(比如 Activity)中注册广播接收器,因为它可能被放置在具有不同 View 状态的 ListView 项中。

Twitter Follow Example

例如,引用 Twitter 应用程序,您可以在该页面上看到 Twitter 建议您关注的人员列表。每个行项目都有一个自定义按钮,此时显示“关注”。您选择转到某个人的个人资料,然后单击那里的“关注”按钮。你回来发现列表中的同一个人现在其按钮 View 状态从“关注”更改为“取消关注”。

这是一种广播,自定义 View 告诉其他类似类型的 View 在事件发生时更改其状态。现在使用 BroadcastReceiver 似乎可以解决问题,但我不确定是否应该以这种方式通知 View 。

最佳答案

我推荐使用 EventBus。我在一家大型移动应用程序开发公司工作,我们以此为生。它可以很容易地处理你所追求的一切,而且它是线程安全的。读一读 here如果您对此有任何疑问,请告诉我。

关于android - 在自定义 View 中使用 Broadcast Receiver 的替代方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33482230/

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