为什么建议(不同的来源)不要为Fragment
s 重载构造函数,而是使用static Fragment.newInstance()
传递Bundle
给它?
重载构造函数时,只需显式定义默认值即可.比如果你Fragment
因为某些原因重新创建你用于onSaveInstanceState()
后续数据提取的话onCreate()
.与使用类似的情况Fragment.newInstance()
,唯一的区别是你不需要创建公共默认构造函数.
我理解错了吗?非常感谢你.
Com*_*are 31
为什么建议(不同的源)不要重载Fragments的构造函数,而是使用静态Fragment.newInstance()将Bundle传递给它?
Android会自动在配置更改(例如,屏幕旋转)上重新创建所有未保留的片段,并且它将使用零参数构造函数.的Bundle
经由供给setArguments()
被保存为实例状态的一部分,并提供给新重建的片段.因此,您只需要实现一个方法(工厂方法)而不是三个(非零参数构造函数和 onSaveInstanceState()
和 onViewStateRestored()
)来采用您建议的方法.
我理解错了吗?
如果它适合你,那就去吧.如您所知,工厂方法方法是建议,而非要求.
归档时间: |
|
查看次数: |
5243 次 |
最近记录: |