Saltar al contenido

Android progressBar no actualiza la vista de progreso / dibujable

Solución:

SOLUCIÓN: ¡Es un error en la barra de progreso!

finalmente … creo que encontré la solución …

esto no funciona como cabría esperar:

bar.setMax(50);
bar.setProgress(20);
bar.setMax(20);
bar.setProgress(20);

El setProgress (…) parece no activar la actualización en el dibujable si se vuelve a pasar el mismo valor. Pero tampoco se activa durante setMax. Entonces falta la actualización. ¡Parece un error en la barra de progreso de Android! Esto me tomó alrededor de 8 horas ahora … jajaja: D

Para resolver esto, solo estoy haciendo un bar.setProgress (0) antes de cada actualización … esto es solo una solución, pero funciona para mí como se esperaba:

bar.setMax(50);
bar.setProgress(20);
bar.setProgress(0); // <--
bar.setMax(20);
bar.setProgress(20);

Pude hacer que esto funcionara View.post():

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    // ...

    mSeekBar.post(new Runnable() {
        @Override
        public void run() {
            mSeekBar.setProgress(percentOfFullVolume);
        }
    });
}

Al igual que con la respuesta de SKT, no me queda claro por qué esto debería funcionar cuando esto no funciona

mSeekBar.setProgress(percentOfFullVolume);

Sin embargo, parece ser cierto hasta e incluyendo Android Lollipop.

Puede usar un controlador para actualizar progressbar

Handler progressBarHandler = new Handler();

ProgressBar bar = (ProgressBar) findViewById(R.id.progressBar1);;

progressBarHandler .post(new Runnable() {

      public void run() {
          bar.setProgress(progress);
      }
});
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *