В других темах, таких как: Как реализовать ViewPager с разными фрагментами/ Макеты — это разные фрагменты и разные макеты, каждый из которых выбирается в методе getItem
.
У меня много разных макетов (но все похожи) и я повторно использовал один и тот же фрагмент. В моем фрагменте у меня есть это:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
int pageLayout;
switch (mPageNumber)
{
case 0:
pageLayout = R.layout.fragment_screen_slide_page2;
break;
default:
pageLayout = R.layout.fragment_screen_slide_page;
}
// Inflate the layout containing a title and body text.
ViewGroup rootView = (ViewGroup) inflater
.inflate(pageLayout, container, false);
// Set the title view to show the page number.
((TextView) rootView.findViewById(android.R.id.text1)).setText(
getString(R.string.title_template_step, mPageNumber + 1));
return rootView;
}
/**
* Factory method for this fragment class. Constructs a new fragment for the given page number.
*/
public static ScreenSlidePageFragment create(int pageNumber) {
ScreenSlidePageFragment fragment = new ScreenSlidePageFragment();
Bundle args = new Bundle();
args.putInt(ARG_PAGE, pageNumber);
fragment.setArguments(args);
return fragment;
}
Это работает, что-то не так с этим подходом вместо классического подхода, который создает фрагмент для каждого макета?