2012-03-20 23 views
6

estoy usando this tutorialocultar área de notificación de la barra de progreso en Android cuando el 100% se completa

para mostrar una notificación con una barra de progreso.

Todo funciona bien.

Pero no puedo hacer desaparecer el progreso cuando la tarea se realiza el 100%

¿Cómo puedo hacer esto? tx

+0

cancelar el método no funciona ?????? –

+0

cancelar funciona pero lo oculta todo, solo quiero que la barra de progreso haya desaparecido – butelo

+0

Llamar a la barra de progreso y utilizar visibilidad GONE después de completar el 100% –

Respuesta

0

Utilice esta:

notificationManager.cancel(MY_NOTIFICATION_ID); 
+1

no, eso no es todo. que oculta todo, no solo la barra de progreso – butelo

+0

lo siento, te equivoqué –

+0

implementa una segunda barra de progreso en tu ausencia y la haces invisible, entonces solo tienes que llamar: "notification.contentView.setProgressBar (R.id.progress2, 100, progress, falso);" progress2 significa la identificación de su segunda barra de progreso –

-1

intento:

ProgressBar.setVisibilty(View.INVISIBLE) 
+1

me da una excepción nullpointer. primero tengo que obtener la barra de progreso desde la vista remota. Y no sé cómo hacer eso – butelo

1

he encontrado una "solución" que funciona.

Sólo tiene que llamar un nuevo RemoteView sin barra de progreso en su diseño cuando la tarea se realiza

En el tutorial que utilice tengo este progress.xml llamada:

  notification.contentView 
= new RemoteViews(getApplicationContext().getPackageName(), R.layout.progress); 

cuando la tarea es 100 % de llamadas realizarse:

  notification.contentView = 
new RemoteViews(getApplicationContext().getPackageName(), R.layout.done); 

done.xml por lo reemplaza diseño progress.xml

0

Para eliminar un ProgressBar de RemoteView utilizar el siguiente código: -

remoteViews.setViewVisibility(R.id.progressBar, View.INVISIBLE); 

También puede utilizar View.GONE sino que hará que el androide para llenar el espacio vacío.

19

aquí está:

Notification.setProgress(0, 0, false); 

Donde el primer parámetro representa min y el segundo parámetro representa el valor máximo. No olvide llamar:

Notification.notify(id, NotificationManager); 
Cuestiones relacionadas