如何在Android中正确创建Fragment实例

时间:2012-09-28 08:59:24

标签: android instance fragment

我已经看到了创建片段的不同方法。有人可以告诉我这些方法之间的区别是什么,最好的方式和何时使用它。

  1. new MyFragment()我自己用这个,因为这对我来说似乎很自然。
  2. MyFragment.instantiate(Context context, String fname, Bundle args)这看起来像是一个自定义静态方法来创建片段,但我从未见过它。
  3. My.Fragment.newInstance()这个是Android开发者示例。
  4. 每个选项的目的是什么?

1 个答案:

答案 0 :(得分:4)

最大的区别是何时使用每个样本:

1-每次调用时创建一个新的片段对象。

2-与调用空构造函数相同,但是,如果将片段设置为setRetainInstance(true),则在使用空构造函数时,这将不起作用。

3- My.Fragment.newInstance(),从静态片段中获取单个实例的方法,如果你有一个静态类扩展片段,你可以创建一个Method来返回一个新片段或当前片段,它是单身模式。

从xml中膨胀,与调用空构造函数相同,Android FrameWork负责视图的附件,但实例将与孔活动生命周期保持一致,需要更多内存并且不能多次重用。