Tengo 3 fragmentos que son administrados por un FragmentPagerAdapter, establece un viewPager.

Quiero cargar fragmentos, uno por uno, pero cuando el método onCreate de FragmentActivity se ejecuta, los 2 primeros fragmentos se ejecutan (método onCreateView).

Me han tratado de limitar los fragmentos de carga con el setOffscreenPageLimit método, pero nada cambio.

mPagerAdapter =  new MyPagerAdapter(super.getSupportFragmentManager(), fragments);
pager = (ViewPager) super.findViewById(R.id.tabviewpager);
pager.setOffscreenPageLimit(0);
pager.setAdapter(this.mPagerAdapter);

Gracias por su ayuda .

OriginalEl autor johann | 2012-11-26

1 Comentario

  1. 8

    El mínimo para OffscreenPageLimit se establece en 1 en el ViewPager código fuente:

    private static final int DEFAULT_OFFSCREEN_PAGES = 1;
    ....
    public void setOffscreenPageLimit(int limit) {
        if (limit < DEFAULT_OFFSCREEN_PAGES) {
            Log.w(TAG, "Requested offscreen page limit " + limit + " too small; defaulting to " +
                    DEFAULT_OFFSCREEN_PAGES);
            limit = DEFAULT_OFFSCREEN_PAGES;
        }
        if (limit != mOffscreenPageLimit) {
            mOffscreenPageLimit = limit;
            populate();
        }
    }
    Gracias. Hay otra manera de lograr que sin el uso de setOffscreenPageLimit ?
    Hacer los fragmentos realmente necesita cargar uno por uno? Si es así, usted podría querer usar algo distinto a un ViewPager con un Adapter. Si usted realmente desea un ViewPager se podría utilizar un OnPageChangeListener en el ViewPager y esperar hasta la Fragment es visible a hacer lo que sea necesario. Usted sólo tiene que hacer a algunos conceptos básicos de la inicialización en el onCreateView y, a continuación, hacer el trabajo intensivo cuando el Fragment se hace visible.
    Gracias por su valiosa ayuda ! Yo probaré con OnPageChangeListener.

    OriginalEl autor antew

Dejar respuesta

Please enter your comment!
Please enter your name here