Android Viewpager que guarda datos y vistas

Hola mundo stackoverflow,

Espero que alguien me puede ayudar con un ligero problema / confusión que tengo con Viewpagers y guardar datos.

PROBLEMA:

Al desplazarse por las cuatro vistas que tengo, la primera vista tiene dos hilanderos, dos vistas de texto que muestran una cadena o un elemento seleccionado. Si me desplazo a la tercera página y vuelvo a la segunda página, los datos en la primera vista se pierden. Necesidad de guardar los datos.

¿Se haría esto en las dos rutinas indicadas abajo? (La mejor suposición es que sería), si es así, ¿qué tipo de comandos deben indicarse?

CÓDIGO:

@Override public void restoreState(Parcelable arg0, ClassLoader arg1) { } @Override public Parcelable saveState() { return null; } 

INFO EXTRA: el viewpager se está utilizando en

 public Object instantiateItem(View collection, int position) { } 

La lista completa de métodos son los siguientes:

 @Override public void destroyItem(View arg0, int arg1, Object arg2) { ((ViewPager) arg0).removeView((View) arg2); } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == ((View) arg1); } @Override public Parcelable saveState() { return null; } @Override public void finishUpdate(View arg0) { } @Override public void restoreState(Parcelable arg0, ClassLoader arg1) { } @Override public void startUpdate(View arg0) { } 

Por favor, ayúdame sobre esto.

En lugar de guardar el estado de esas páginas, puedes modificar tu ViewPager para almacenar todas tus páginas en lugar de destruirlas y recrearlas al desplazarte.

Por ejemplo, si usted tiene 4 páginas:

 ViewPager pager = (ViewPager) findViewById(R.id.viewpager); pager.setOffscreenPageLimit(3); // the number of "off screen" pages to keep loaded each side of the current page pager.setAdapter(new PageAdapter(context)); 

Ahora sus páginas se mantendrán 'vivas'

Tenga cuidado con esta técnica sin embargo, porque aumentará el consumo de memoria. El número pasado a setOffscreenPageLimit () es el número de páginas que debe conservar cada lado de la página actual. En este caso, tenemos 4 páginas en total, por lo que el peor de los casos es cuando estamos en el extremo de la página conjunto – tenemos la página actualmente visible y, a continuación, las restantes 3 páginas están fuera de la pantalla a un lado y se mantienen así en memoria. Sin embargo, con un conjunto de datos más grande podría significar potencialmente 7 páginas se mantienen en la memoria (página actual más 3 de cada lado).

En general, la solución más óptima sería tratar adecuadamente la descarga y recarga del estado de la página y volver a procesarlos.

Espero que esto ayude

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.