#android #android-fragments
#Android #android-фрагменты
Вопрос:
Есть ли какие-либо (отрицательные) преимущества в использовании метода для загрузки new ? instantiate()
Fragments
Или это только на личный вкус?
Bundle args = new Bundle();
args.puString(...);
args....
Fragment newFragment = Fragment.instantiate(this, fragmentName, args);
против.
//...
NewFragment instance = NewFragment.newInstance(String param1, String param2);
//....
public static NewFragment newInstance(String param1, String param2) {
NewFragment fragment = new NewFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
Ответ №1:
Использование newInstance()
предпочтительнее, если у вас есть аргументы, которые должны быть предоставлены фрагменту, так как легко увидеть, какие параметры необходимы, и вам не нужно беспокоиться о создании пакета и знать, какие ключи использовать.
Если ваш фрагмент не принимает аргументов, просто избегайте его вообще и создайте его с помощью конструктора по умолчанию, т. Е. new MyFragment()
.