使用newInstance方法的有效方法

时间:2016-06-05 02:38:32

标签: android android-fragments

在Fragments中使用newInstance方法的正确方法是什么。我见过人们使用的大多数地方

 public static MyFragment newInstance(int mData) {
        MyFragment f = new MyFragment();
        Bundle args = new Bundle();
        args.putInt("key", mData);
        f.setArguments(args);
        return f;
    }

然后再次检查片段。

那么为什么我需要在方法中使用bundle,当我可以在我的片段中的一个回调方法中直接使用该值。

with this.mdata = mdata; 是否有特殊需要以这种方式使用它。???

1 个答案:

答案 0 :(得分:0)

mData模式视为使用构造函数的替代方法。 android框架可以随时重新实例化你的片段,它不会调用带有参数的构造函数。例如,如果您旋转屏幕,null将变为mData。因此,为了保持onCreate左右,需要将其放入捆绑包中,然后再从捆绑包中检索(例如,在{{1}}中)。

https://developer.android.com/reference/android/app/Fragment.html