Guardar datos de ViewPagerIndicator

He estado buscando por todas partes pero no puedo encontrar ninguna respuesta a esto. Tengo ViewPagerIndicator funcionando en mi aplicación, pero simplemente no puedo encontrar ningún tutorial que muestre cómo usar más de 3 páginas. Quiero usar 6 páginas. Puedo hacer que 6 páginas se muestren correctamente, pero cuando ingreso datos en la página 0, desaparecen después de pasar a la página 3 (¿se está reciclando?). He leído ViewPagerIndicator.java pero, para ser honesto, la mayor parte está un poco por encima de mi cabeza en este momento. ¿Qué debo hacer para guardar los datos en la página 0 al deslizar el dedo hacia la página 3. Alguien puede señalarme un ejemplo? Además, ¿qué uso para restaurar los datos al volver a la página 0?

Descargo de responsabilidad: Soy muy nuevo en el desarrollo de Java y Android; esta es mi primera aplicación.

Gracias de antemano por cualquier orientación que cualquiera pueda brindar.

preguntado el 10 de marzo de 12 a las 05:03

2 Respuestas

Debe usar ViewPager.setOffscreenPageLimit (5). Esto le permitirá tener 1 página en pantalla y 5 páginas fuera de pantalla, todas en la memoria. El valor predeterminado es 1, por lo que verá la página 0 eliminada cuando llegue a la página 3.

Alternativamente, puede implementar instantiateItem para crear / cargar cada página y destroyItem para guardar cada página dentro de su PagerAdapter como se documenta en http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html

respondido 10 mar '12, 09:03

El setOffscreenPageLimit funcionó. Gracias. Leeré sobre la solución de creación / carga para referencia futura. - David

Para responder a sus preguntas:

  1. Para mostrar> 3 páginas, digamos 6 páginas, solo tiene que agregar 6 páginas en ViewPager y ViewPagerIndicator se actualizará automáticamente para mostrar 6 círculos (indicadores)

  2. Para guardar los datos, sugeriría mirar configurar un onPageChangeListener como el que se menciona aquí https://github.com/JakeWharton/Android-ViewPagerIndicator/blob/master/sample/src/com/viewpagerindicator/sample/SampleCirclesWithListener.java

Puede definir lo que quiera hacer cuando la página se desplaza o lo que sea ...

    mIndicator.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            Toast.makeText(SampleCirclesWithListener.this, "Changed to page " + position, Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            //save the data here
        }

        @Override
        public void onPageScrollStateChanged(int state) {
        }
    });

respondido 10 mar '12, 06:03

Parece que será más útil cuando pase la etapa de navegación y empiece a guardar los datos ingresados. Todavía soy tan nuevo en Android y Java que estoy luchando para obtener una navegación fluida y una apariencia. - David

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.