美文网首页
Fragment构造参数传参的正确姿势

Fragment构造参数传参的正确姿势

作者: 微风细雨007 | 来源:发表于2017-08-24 17:38 被阅读313次

参考>http://blog.csdn.net/stzy00/article/details/44764537
官方文档:http://developer.android.google.cn/reference/android/app/Fragment.html
当我进行Fragment中传递参数时,发现AndroidStudio就会爆红,运行时木有问题,但到打包时就会有问题了
为什么,为什么,肿么办~~~
如果将Fragment换做是普通的对象,比如是自己自定义的bean对象,在构造方法中传递参数是没问题的.但是Fragment和Activity一样,是有生命周期的组件,并不能看做是一般的类.于是说在构造方法中不要直接用类似的这种方式去写。
具体原因:
因为Activity横竖屏切换的时候,会重新构造Fragment,默认调用的就是Fragment的无参构造方法。
如果通过 setArguments来传递参数的话,Activity在构造Fragment时会通过反射无参构造实例化一个新的Fragment,并且给mArgments初始化为原先的值。
如果参数是通过构造方法传递的,在重新构造Fragment实例之后,数据就丢失了

官方写法


fragment.png

相关文章

  • Fragment构造参数传参的正确姿势

    参考>http://blog.csdn.net/stzy00/article/details/44764537官方...

  • Fragment 复习总结

    主要内容: 1、Fragment 的生命周期 2、Fragment 的管理 3、Fragment 的空参构造方法 ...

  • flutter页面跳转 Route 使用汇总

    一、push方式直接跳转 普通跳转 带参数跳转和接收参数 构造函数直接传参 跳转后携带参数返回 二、命名路由跳转 ...

  • Flutter 路由传参小结

    Flutter路由传参总体来说有两种方式,一种是通过构造函数传参,一种是通过路由参数传参。这两种方式都可以使用自定...

  • Fragment

    生命周期 使用Fragment时,必要构建一个无参构造函数,系统会默认带。但一但写有参构造函数,就必要构建无参构造...

  • Fragment踩坑

    Fragment 实例化的时候尽量不要用构造参数,使用Fragment.setArguments(Bundle b...

  • {C#-03}构造器

    目的 初始化类时,传参 优势 因类创建时,参数已初始化,所以调用参数不考虑时序 默认构造器 默认构造器为缺省值 无...

  • Restful风格

    传统的前端传参: 传统的参数接收: restful前端传参: restful的参数接收:

  • 接口测试范围

    1、接口入参 参数不同类型 参数必填、非必填 参数为空 参数正确值 参数不传是否有默认值 参数输入上限 2、接口出...

  • Android 易忘

    1.如何给要打开的fragment传参? 用Fragment.setArguments(Bundle bundle...

网友评论

      本文标题:Fragment构造参数传参的正确姿势

      本文链接:https://www.haomeiwen.com/subject/luvedxtx.html