gpt4 book ai didi

android - Android 中的 fragment 回调与 EventBus

转载 作者:太空狗 更新时间:2023-10-29 16:35:13 24 4
gpt4 key购买 nike

我遇到过这个问题。我的 Activity 是 fragment 容器,因此为了在 Activity 和 fragment 之间进行通信,我使用了常见的 Callback 方法。在这种情况下,我的 Activity 必须根据 fragment 计数实现大量回调接口(interface)。
我不喜欢硬编码和不可读的代码。在我的例子中,我的类声明可以用几行来列出所有接口(interface)。
我正在努力摆脱这个。

还有一种方法是使用EventBus模式。
Activity 中

EventBus.getDefault().register(this);

在 fragment 中

EventBus.getDetault().post(new MyEvent(description));

并处理 Activity 中的几种事件类型。

也许在这里使用 EventBus 代替默认的回调方法会更好??
或者也许我的错误是我的 Activity 持有很多 fragment (上帝对象)并且最好使用 Activity 而不是 fragment ?

请建议哪种方法更好?

最佳答案

对于简单的一个 Activity 到一个 Fragment 层次结构,回调是最简单的决定。但是想想 Activity 包含一个 Fragment,Fragment 包含可滑动的 ViewPager,ViewPager 的每个选项卡都有 Fragments A、B、C。

Fragment A,B,C 会长途跋涉向母 Activity 发送事件,在 crazy complex Android Activity-Fragment lifecycle dances 期间恢复时可能会丢失 Activity 和子 Activity 之间的接口(interface)连接。 .在这种情况下,eventbus 像 otto会是一个不错的选择。

事件总线方法的缺点是,很难维护事件的来源。因此,建议保留一些发件人。

关于android - Android 中的 fragment 回调与 EventBus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30553942/

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