0

I am learning about Fragment in Android development. So the question is which approach is better to use for passing arguments from an Activity to a Fragment:

fragment.setArguments(args);

or

MyFragment.newInstance(args);

Or it does not matter which one to use? Thanks for your efforts.

Jon Goodwin
  • 9,053
  • 5
  • 35
  • 54
surik
  • 25
  • 5

1 Answers1

2

Because MyFragment.newInstance(args) is static, it use setArguments() to pass arguments to the instance of Fragment.

Instantiate a fragment using newInstance() is a good practice in most cases for creating Fragment.

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

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

    return myFragment;
}

See: Best practice for instantiating a new Android Fragment

nhoxbypass
  • 9,695
  • 11
  • 48
  • 71