Pregunta

Yo escribo una actividad, que carga los datos de un servidor y lo muestra como una lista utilizando ArrayAdapter. Para que yo estoy mostrando una carga de diálogo es decir progreso, mientras que carga todos los datos desde el servidor. Entonces i cerrar el diálogo en un controlador. Mi problema es que cuando cada vez que cambie la orientación, se muestra de nuevo el diálogo de progreso, que no es necesaria, ya que todos los datos se muestran ya?

¿Fue útil?

Solución

Yo diría que tiene dos opciones:
De cualquier fuerza de su actividad no ser capaz de cambiar la orientación:

<activity android:name="MainActivity" android:configChanges="keyboardHidden|orientation"> 

en su manifiesto ( documentación ), que le dirá el sistema que desea orientación mango cambia por sí mismo, y en este caso, no se hará nada. Sin embargo, prefiere añadir un poco de código en onPause() y onSaveInstanceState() ya que esta actividad podría ser interrumpido por Android cuando se recibe una llamada telefónica, por ejemplo. Así que hay que manejar algún ahorro.

O, se elige para evitar que la pantalla del cuadro de diálogo cuando ya se ha mostrado, o cuando el subproceso de fondo se está ejecutando. Esto es fácil se utiliza un AsyncTask para su descarga parte, porque se puede utilizar AsyncTask.getStatus que devolverá el estado de la tarea . Si ya se encuentra en estado acabado, tiene que cancelar el cuadro de diálogo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top