2012-08-05 42 views
7

Estoy desarrollando una aplicación en Android utilizando Fragmentos. Tengo esto tres pestañas:Prevenir el siguiente fragmento (pestaña) de la precarga con ViewPager

User app screenshot

Yo sé que no es posible evitar que la carga de un fragmento de cada lado (anterior y posterior) hasta el valor mínimo de setOffScreenPageLimit() es 1, pero qué significa que si yo quiero mostrar una ProgressDialog en el método onPreExecute de un AsyncTask funcionamiento dentro de Descargas Fragmento esto causará que cuando NAV para el capturador que ProgressDialog se cargará necesariamente? En caso afirmativo, no tengo idea de cómo hacer para que el usuario sepa que estoy descargando los paquetes (eso es lo que hace Descargas, analizar un poco de XML).

Gracias de antemano;)

+1

Esta pregunta ha sido redactada genial. Me enfrento a un desafío similar como este, donde tengo que mostrar 'Diálogos' en' Fragmentos' diferentes, pero no puedo porque se superponen entre sí. – tolgap

+0

Esperemos que alguien nos ayude. Debo admitir que estoy un poco confundido con Fragments, pero no sé cómo solucionar este problema. –

+0

Es bastante estúpido que 'setOffScreenPageLimit()' siempre esté predeterminado en 1. – tolgap

Respuesta

4

Insertar un ProgressBar en el fragmento de Descargas. O superponga una barra de progreso indeterminada sobre el centro del fragmento mientras se carga.

Los cuadros de diálogo son realmente parte de la actividad, no tendría sentido que solo se aplique a una de las páginas.

Al final del día, aunque si hay que insistir en el uso de los cuadros de diálogo, se puede implementar un onPageChangeListener

viewPager.setOnPageChangeListener (OnPageChangeListener);

Y puede desplegar el cuadro de diálogo apropiado cuando se selecciona el fragmento designado y viceversa cuando navega.

+0

Gracias por su respuesta. Luego intentaré hacer algo consistente y de acuerdo con los buenos hábitos de programación considerando que recién estoy aprendiendo. Supongo que la mejor manera sería controlar los eventos gráficos como los cuadros de diálogo o tostadas en la actividad principal no en los fragmentos. Agradecería si alguien me puede dar ideas. No quiero que ninguno de ustedes haga mi trabajo, solo consejos o instrucciones. –

+0

Respondiendo a mí mismo y gracias a Pork finalmente implementé un ProgresBar indeterminado definido en el Diseño que oculto con ProgressBar.setVisibility (View.GONE) si el fragmento de Descargas recuperó con éxito los paquetes que deseo y así sucesivamente. Espero que no sea una solución lamentable porque, con mi conocimiento, que no es tan avanzado, ni siquiera puedo comenzar a implementar la opción OnPageChangeListener. –

+0

¡Eso suena perfecto Keyser! Ciertamente puede usar diálogos de un fragmento, pero un fragmento dentro de un visor es algo complicado. Debe tener en cuenta que el diálogo está realmente destinado a evitar que el usuario realice otras acciones. Pero si tienen otras cosas que pueden hacer dentro de la actividad mientras esperan, entonces es mejor no usar un diálogo. Para mí, eso significa que progressdialog es un truco rápido que generalmente no debería convertirse en la mayoría de las soluciones finales de la gente. Puede conducir diálogos desde un fragmento, está bien, solo tenga en cuenta que el usuario solo realmente sabe/se preocupa por la actividad. –

Cuestiones relacionadas