In other topics as: How to implement a ViewPager with different Fragments / Layouts
there are different fragment and different layout, each one selected in getItem
method.
I've a lot of different layots (but all similar) and reused the same fragment. In my fragment I've this:
@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;
}
This works, is there something wrong with this approach instead of the classic approach that create a fragment for every layout?