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

参考>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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容