开发者社区> 问答> 正文

Android:将MainActivity实例传递给Fragment

我需要MainActivity对象作为Fragment对象中的上下文。

仅在启动应用程序时将MainActivity作为“ this”传递给Fragment-class的自定义构造函数。旋转时,它会通过调用标准的null参数构造函数super.onCreate(savedInstanceState);

在Fragment中创建MainActivity的新实例也不起作用。例如:


MainActivity ma = new MainActivity();
AdapterTasks at = new AdapterTasks(ma,title, subt, imgid);

-> onCreate()之前活动无法使用的系统服务

如何从MainActivity对象获取对Fragment对象的引用?

展开
收起
Puppet 2020-01-17 09:20:08 569 0
1 条回答
写回答
取消 提交回答
  • 在内Fragment,只需调用this.getContext()。

    或者,当您需要访问父项中的内容时 MainActivity:

    MainActivity activity = (MainActivity) this.getActivity(); 两者仅在将Fragment附加到时起作用Activity。一般而言,请this.getContext()防止将太多代码添加到中Activity,而应将其添加到中Fragment。一个人可以做任何事情Fragment,同时让它Activity膨胀。

    2020-01-17 09:20:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载