参考>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实例之后,数据就丢失了
官方写法