What I was hopping to see is 4 pages, with two button (Skip and Next) on 3 of them, and the Start button on the 4th.

What I see : The 2 button only on the 2 first pages, and the "start" button on the pages 3 and 4.

When I debug my app, it seems that my code go through the case 1, then through the case 2, and after that my app is displaying the case 1 page.
This means that, when I switch, my pages seems to be +1 of the position they should be (my page 1 is finally the 2, the 2 is the 3, ...).
The strange thing is that my texte and icons displayed are the right ones.

Hereunder is the complete WelcomActivity :

public class WelcomeActivity extends AppCompatActivity {

/**
* The {@link android.support.v4.view.PagerAdapter} that will provide
* fragments for each of the sections. We use a
* {@link FragmentPagerAdapter} derivative, which will keep every
* loaded fragment in memory. If this becomes too memory intensive, it
* may be best to switch to a
* {@link android.support.v4.app.FragmentStatePagerAdapter}.
*/
private SectionsPagerAdapter mSectionsPagerAdapter;

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// Create the adapter that will return a fragment for each of the three
// primary sections of the activity.
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());

// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);

/**
* A {@link FragmentPagerAdapter} that returns a fragment corresponding to
* one of the sections/tabs/pages.
*/
public class SectionsPagerAdapter extends FragmentPagerAdapter {

SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}

@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
// Return a PlaceholderFragment (defined as a static inner class below).
return PlaceholderFragment.newInstance(position + 1);
}

finally I find out how to answer to my issue (for those who would be interested in resolving this issue).

First of all, some more details. I used the built in activity tabbed-activity provided by android studio (2.2). This one allow to have fragment pager use, and it seems that the behavior (showing for example the first fragment, but in your code, you're already in the second one, did not correctly understood how this is working).

For me, I wanted to have 4 pages (my fragment pager with 4 parts) and 2 buttons at the bottom (attached to the activity xml and not to the fragment xml).

The solution is simlpe : add the fragment text update in the onCreateView() part and the button text update (and the onClickListener) in the OnCreate() part.

In the OnCreate() part, to know which page fragment is used, you'll have to use the ViewPager, with the addOnPageChangeListener on it. Then it's ok, you can add a switch in it to know which page, checking the value of the position (from 0 to the number of page - 1 you have).