关于fragment和activity的相互传值问题

关于fragment和activity的相互传值问题

  1. activity传给fragment

    为什么不直接在构造器中set属性值呢?

  2. fragment传给activity

    为什么不在构造器或者set方法,直接传给fragment activity的引用,而要用接口呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

activity重新创建时,会重新构建它所管理的Fragment,原先的Fragment属性值就会全部丢失(比如横竖屏切换)但是通过Bundle方式可以保存下来的。接口是不同对象之前传值的通用解决办法,优点就是简单、高效、方便、解耦好

irista23 2019-07-21 10:55:48

因为activity和fragment都是有生命周期的,一般的bean通过构造函数传值,会造成异常,在不可见等状态下很容易被系统回收,所以android提供了Bundle等方式用于保存你要传递的值。

  • 提问者 qq_幻化为雨_0 #1
    1.activity传给fragment 在构造器中写一个this.title=title.会造成什么异常呢? 2.fragment传给activity 通过视频我理解是fragment保留了一个activity的引用,然后将参数写入了activity的方法中。但是为什么一定要弄一个接口? 不知道理解的对不对。
    2019-07-21 13:01:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师