2011-09-06 10 views
6

Si solicito un cuadro de diálogo como este en mi actividad principal, entonces el progreso se muestra como se esperaba:SetProgressBarIndeterminateVisibility falta de comprensión

  requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 
    setProgressBarIndeterminateVisibility(true); 

Pero si fijo la visibilidad de "falsa", y luego colóquela en el " verdadero "dentro del procedimiento llamado en el que quiero implementarlo, no se muestra nada. Mover el requestWindowFeature al procedimiento causa una excepción. ¿Cómo debería estar haciendo esto?

Respuesta

9

Debe llamar al requestWindowFeature() solo una vez, en onCreate(), antes de llamar al setContentView(). Luego puede usar setProgressBarIndeterminateVisibility(true|false) para mostrar u ocultar el indicador de progreso desde cualquier lugar de la actividad (siempre y cuando esté en el hilo de la interfaz de usuario, por supuesto).

+0

No he declarado otro subproceso, se llama a un proc A desde la actividad onCreate proc y el proc B que está intentando utilizar el indicador de progreso se llama "onClick" del proc A. ¿Debería funcionar esto? – SirHowy

+0

Siempre y cuando no intente llamar 'requestWindowFeature()' dos veces, sí. –

+0

Utilizándolo así ?: 'setProgressBarIndeterminateVisibility (true); try { \t \t spage = CustomHttpClient.myHttpGet (sURL); \t} catch (Excepción e) { \t \t Toast.makeText (getBaseContext(), "no se pudo GET página web", Toast.LENGTH_SHORT) .show(); \t \t e.printStackTrace(); \t} setProgressBarIndeterminateVisibility (false); ' – SirHowy