Возможно ли иметь два разных конструктора для одного и того же Fragment
?Два конструктора для фрагмента
Вот мой случай: у меня есть Fragment_A
и Fragment_B
, которые почти идентичны, за исключением того, что один получает Integer, а другой - String.
Могу ли я иметь что-то вроде этого:
public static VideoListFragment newInstanceA(String filterString) {
VideoListFragment myFragment = new VideoListFragment();
Bundle args = new Bundle();
args.putString(FILTER, filterString);
myFragment.setArguments(args);
return myFragment;
}
public static VideoListFragment newInstanceB(String subjectId) {
VideoListFragment myFragment = new VideoListFragment();
Bundle args = new Bundle();
args.putString(POSITION, subjectId);
myFragment.setArguments(args);
return myFragment;
}
Если это возможно, то как я буду получать в onCreate()
Аргумент? Мне нужно как-то проверить, содержит ли getArguments() `FILTER String или POSITION Integer.
Но у меня есть разные имена: 'newInstanceA' и' newInstanceB'. Будет ли это работать так? В противном случае ваш ответ будет хорошим альтернативным вариантом для меня. – Mes
Да, если вы предоставляете отдельные имена, тогда это сработает, но это лишняя избыточность для такой незначительной вещи. – waqaslam