栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将数据从Fragment发送到MainActivity

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将数据从Fragment发送到MainActivity

当前接受的答案(在“活动”中使用静态方法)既是奇数又是“错”。

静态方法的使用很奇怪,因为它不需要是静态的。

这是错误的,因为片段必须了解托管它的特定活动。这是“紧密耦合”,并且还使得该片段不可重复使用。

有两种常见的解决方案:

  1. 在该Activity中创建一个包含该片段可以调用的方法的接口。在Activity(使用片段的所有Activity)中实现该接口,然后在Fragment中,使用getActivity()获取Activity,并将其强制转换为接口。在这种模式下,通常还检查(使用’instanceof’)Activity是否实现了接口,如果没有实现,则抛出RuntimeException。
  2. 使用事件总线(例如Square的Otto,GreenRobot的EventBus)在Fragment和它的父Activity之间进行通信。我觉得这是最干净的解决方案,并且将Fragment从其Activity中完全提取出来。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/464406.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号