使用哪种方法将参数传递给Fragment

时间:2017-11-05 16:28:23

标签: android android-fragments

我正在了解Android开发中的Fragment。所以问题是哪种方法更适合用于将参数从Activity传递到Fragment

fragment.setArguments(args);

MyFragment.newInstance(args);

或者使用哪一个无关紧要?谢谢你的努力。

1 个答案:

答案 0 :(得分:2)

因为MyFragment.newInstance(args)是静态的,所以它使用setArguments()将参数传递给Fragment的实例。

在大多数情况下,使用newInstance()实例化片段是一种很好的做法,可用于创建片段。

public static MyFragment newInstance(int someInt) {
    MyFragment myFragment = new MyFragment();

    Bundle args = new Bundle();
    args.putInt("someInt", someInt);
    myFragment.setArguments(args);

    return myFragment;
}

请参阅:Best practice for instantiating a new Android Fragment