首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >片段到活动通信的Android最佳实践

问片段到活动通信的Android最佳实践
EN

Stack Overflow用户
提问于 2014-09-12 18:58:01
回答 4查看 1.3K关注 0票数 6

我是Android片段的新手,并且尝试学习片段到活动通信。什么是更好的方法(最佳实践)在Android的片段到活动通信?

假设我有FragmentA和ActivityA。在屏幕弹出FragmentA之后,我想在ActivityA中执行一些(可能与UI相关的)

以下是两种可能的解决方案:

  1. 在FragmentA,getActivity中,将活动转换为ActivityA,然后调用ActivityA。
  2. 在FragmentA中,创建一个接口回调,然后在ActivityA中实现该回调。然后在回调时,打电话给somemethod。

在Android开发中,哪种模式更常见/更好,原因是什么。或者,你有没有更好的方式与我分享在Android中从片段到活动的交流?

任何意见、意见和建议都将受到高度赞赏和欢迎。^^

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-09-12 19:06:05

第二个解决方案是首选的解决方案,因为它允许您的片段更独立于其托管活动。

如果将来您决定将片段放在不同的活动上,则不需要对片段进行更改,您只需要在活动上实现接口。

我将添加第三种解决方案,即使用事件总线(例如Otto),它也能工作,尽管有些人可能认为它会使代码的可读性降低一些。

票数 5
EN

Stack Overflow用户

发布于 2014-09-12 21:02:32

第一种方法将是一种糟糕的做法。第二种方法可以很好地工作,但是您的片段将是与活动紧密耦合的。

还有一种更好的方法是使用一些事件总线库,比如otto,使用它,您可以在活动和片段中使用松散耦合有效地进行通信。

票数 2
EN

Stack Overflow用户

发布于 2014-09-12 19:03:46

您的第二种方法更灵活。您可能不会在一个活动和一个片段案例中看到巨大的好处。如果您必须在另一个活动中使用相同的片段,它很可能会像这样抛出您的活动而中断。尽管如此,第一种方法并没有什么问题,但它只是受到了一些限制。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25815004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档