FragmentPagerAdapter - comment détecter un clic ou un clic d'onglet lorsque l'utilisateur accède à un nouvel onglet?

J'ai un MainActivity qui a trois fragments dans un FragmentPagerAdapter comme ci-dessous. Comment puis-je savoir quand un utilisateur va du 1er fragment de seconde ou de la deuxième à la troisième, soit avec un balayage ou avec un clic sur l'onglet? J'ai vu que le getItem() méthode n'est pas appelée toujours comme je l'ai déclaré mViewPager.setOffscreenPageLimit(2);

public class MainThreeTabAdapter extends FragmentPagerAdapter {

    private final String[] CONTENT = new String[]{"News", "Rewards", "Me"};

    public MainThreeTabAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        if (position == 0) {
            return NewsFragment.newInstance();
        } else if (position == 1) {
            return RewardsFragment.newInstance();
        } else if (position == 2) {
            return MeFragment.newInstance(true, App.getAccountData().getId());
        } else {
            return null;
        }

    }

    @Override
    public CharSequence getPageTitle(int position) {
        return CONTENT[position % CONTENT.length];
    }

    @Override
    public int getCount() {
        return CONTENT.length;
    }
}

Dans le MainActivity de onCreate()

    mainThreeTabAdapter = new MainThreeTabAdapter(getFragmentManager());

    //Set up the ViewPager with the sections adapter.
    //this ensures that 2 tabs on each side of current are kept in memory, which is all we need for our case. Default = 1
    //this is all taken from the Quickreturn facebook sample app
    mViewPager.setOffscreenPageLimit(2);
    mViewPager.setAdapter(mainThreeTabAdapter);

source d'informationauteur dowjones123