Pourquoi il n'est pas possible d'utiliser ViewPager à l'intérieur d'un Fragment? Il est en fait

Il y a des informations qu'il est impossible d'utiliser ViewPager dans un Fragment dans de nombreuses sources comme "Le Occupé des Codeurs de Guide pour les Développeurs Android" par Mark Murphy, ou à des postes comme cette sur DONC. Je suis confondu parce que je n'ai pas ce problème et j'ai réussi à utiliser ViewPager dans mon Fragment. La seule distinction est que j'instancie un ViewPager pas dans onCreateView() méthode, mais dans onActivityCreated(). Et tout fonctionne parfaitement bien.

La question est donc - peut-être que je ne sais pas quelque chose, et ce n'est pas recommandé pour une raison de faire de l'INTERFACE utilisateur instanciations dans onActivityCreated()? Mais encore une fois - tout fonctionne bien.

Voici la liste de la classe et xml:

Classe:

public class ViewPagerFragment extends Fragment {

    static final int NUM_ITEMS = 2;

    private ViewPagerAdapter mAdapter;
    private ViewPager mPager;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.view_pager_fragment, container, false);
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        mAdapter = new ViewPagerAdapter(getFragmentManager());

        mPager = (ViewPager) getView().findViewById(R.id.pager);
        mPager.setAdapter(mAdapter);
    }

    public static class ViewPagerAdapter extends FragmentPagerAdapter {
        public ViewPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int num) {
            if (num == 0) {
                return new ItemsListFragment();
            } else {
                return new FavsListFragment();
            }
        }

        @Override
        public int getCount() {
            return NUM_ITEMS;
        }
    }
}

Mise en page:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:orientation="vertical">

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>

</LinearLayout>
InformationsquelleAutor Eugene | 2012-08-23