|
||
|
![]() |
![]() |
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
Herramientas |
#1
|
||||
|
||||
Bloquear pantalla mientras se muestra un ProgressDialog
Saludos compañeros, acudo a uds con esta duda, como hago para que cuando muestre un ProgressDialog la pantalla quede bloqueada y solo se pueda cancelar con el boton atras, me explico ejecuto una tarea con Thread pero antes de llamarla muestro un ProgressDialog para indicarle al usuario que espere a que termine dicha tarea, pero cuando el usuario toca la pantalla (ya sea por error o porque se bloqueo) el ProgressDialog se cierra, este es el codigo que tengo.
final ProgressDialog pdialogo = new ProgressDialog(Main3Activity.this); pdialogo.setCancelable(true); pdialogo.setTitle("SofiMovil para Android"); pdialogo.setMessage("Espere Consultando Información..."); pdialogo.setProgressStyle(ProgressDialog.STYLE_SPI NNER); pdialogo.setProgress(0); pdialogo.setMax(100); pdialogo.show(); Thread tr = new Thread(){ @override public void run(){ Resultado = leer(); runOnUiThread(new Runnable() { @override public void run() { pdialogo.dismiss(); if (!endActivity) { inicio2(Resultado); } } }); } }; tr.start(); Yo controlo el boton atras indicando al programa que cuando la actividad fue destruida no muestre nada, pero quiero que esa sea la unica forma de quitar el ProgressDialog, gracias por cualquier sugerencia o mejor metodo para mostrar el ProgressDialog |
|
#2
|
||||
|
||||
La gracia de mostrar el ProgressDialog es bloquear la interacción del usuario, si puede ser cancelada pulsando atrás al final no ganas nada.
Aún así si quieres que el usuario pueda cancelar el ProgressDialog prueba añadiendo esta línea: pdialogo.setCanceledOnTouchOutside(false) |
#3
|
||||
|
||||
La gracia de mostrar el ProgressDialog es bloquear la interacción del usuario, si puede ser cancelada pulsando atrás al final no ganas nada.
Aún así si quieres que el usuario pueda cancelar el ProgressDialog prueba añadiendo esta línea: pdialogo.setCanceledOnTouchOutside(false) ![]() |
#5
|
||||
|
||||
Solucionado, quiete el codigo anterior para mostrar el ProgressDialog y use este:
final ProgressDialog dialog = ProgressDialog.show(this, "SofiMovil para Android", "Espere Consultando Información..."); Este si bloquea la pantalla mientras se muestra el ProgressDialog, ahora por que el anterior no lo hacia pues no se, lo unico que se es que el anterior codigo construye el ProgressDialog por partes y en este nuevo codigo ejecuta todo de una vez, si alguien sabe porque el codigo anterior permitia que se cerrara el ProgressDialog seria bueno saberlo. Nota: Si amigo kriogen puse la linea que me dijo y nada el ProgressDialog se mostraba pero si tocaba la pantalla el mismo se cerraba. |
![]() |
![]() |
||||||
|