2011-09-16 9 views
6

tengo la barra de progreso que se supone para funcionar en un AsyncTask, pero no aparece, aunque la tarea se ejecutaAndroid progressBar no mostrar

XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" android:layout_height="match_parent" 
android:background="@drawable/splashportrait"> 
<ProgressBar android:layout_alignParentBottom="true" android:indeterminate="true" 
    android:layout_centerHorizontal="true" android:paddingBottom="450dip" 
    android:layout_width="200dip" android:layout_height="200dip" 
    android:id="@+id/progressBar1"></ProgressBar> 
</RelativeLayout> 

CÓDIGO:

ProgressBar diagProgress; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splashscreen); 

    diagProgress = (ProgressBar)findViewById(R.id.progressBar1); 
    DiagnosticsTask diag = new DiagnosticsTask(); 
    diag.execute(); 

    /**rest of class ommitted here**/ 
} 

private class DiagnosticsTask extends AsyncTask<String, String, Boolean> { 

    //Show spinner 
    protected void onPreExecute() { 
     //dialog.setMessage("Loading corresponding destinations..."); 
     //dialog.show(); 
     diagProgress.setVisibility(View.VISIBLE); 
     diagProgress.showContextMenu(); 
     Log.e("AsyncStatus", "spinner shown"); 
    } 
/*other parts of the thread ommitted here*/ 

} 
+0

Hey ur problema resuelto? – shyam

Respuesta

14

Probar esto reemplace su ProgressBar con el siguiente.

<ProgressBar android:indeterminate="true" 
android:layout_centerInParent="true" 
android:layout_width="wrap_content" android:layout_height="wrap_content" 
android:id="@+id/progressBar1"></ProgressBar> 

Avísame si funciona, explicaría el motivo.

Justificación: Ahora estoy poniendo su código a continuación para ProgressBar

<ProgressBar android:layout_alignParentBottom="true" android:indeterminate="true" 
android:layout_centerHorizontal="true" android:paddingBottom="450dip" 
android:layout_width="200dip" android:layout_height="200dip" 
android:id="@+id/progressBar1"></ProgressBar> 

RelativeLayout que permite llenado del espacio. Entonces, como necesitabas ProgressBar en la parte superior, no necesitas hacer el tipo de manipulaciones que estás haciendo.

android:layout_alignParentBottom="true" 

Ajusta la barra de progreso en la parte de abajo de la disposición:

android:paddingBottom="450dip" android:layout_width="200dip" android:layout_height="200dip" 

Todos los tres valores aquí son absoluta que es una estricta no-no en cuanto a Android se refiere. Lo más probable es que su paddingBottom estaba empujando su ProgressBar fuera de la vista. Como su relleno es mayor que el ancho/alto real del control

Como regla general siempre use valores relativos para que funcione en todos los dispositivos y factores de forma.

Avíseme si tiene sentido.

+2

esto funciona, la razón de ser? parece que no se puede ver sobre un fondo blanco, gracias – CQM

+0

compruebe la razón y hágame saber si necesita más información. – PravinCG

+1

Gracias CQM por el comentario de fondo blanco (palma de la cara) – saswanb

0

¿Olvidaste ejecutar tu tarea?

... 
    diagProgress = (ProgressBar)findViewById(R.id.progressBar1); 
    new DiagnosticsTask().execute(); 


    .... 
+0

la tarea se ejecuta, mencioné eso, voy a editar mi fragmento de código para mostrar que la parte – CQM

7

tuve ese problema cuando se me olvidó para activar animaciones después de probar xD

+0

Esta puede ser una buena respuesta, pero una explicación sería útil. – Bobby

+1

Tengo el mismo problema. Cuando haces pruebas de UI en Android tienes que deshabilitar las animaciones, por lo que aparecen comportamientos de IU de weirds (¡como que la barra de progreso no se muestra en absoluto)! Esta no es una mala respuesta, ya que me lleva a la dirección correcta :) – Spoke44

+0

Me pasó lo mismo. Compruebe en su dispositivo Android: Configuración> Desarrollo> Cualquier cosa con respecto a la animación – OneWorld

Cuestiones relacionadas