Android ProgressDialog se retrasó antes de aparecer

Estoy usando ProgressDialog en Android para evitar que el usuario, por ejemplo, presione un botón varias veces mientras una tarea larga actualiza la interfaz de usuario.

Mi problema es que ProgressDialog no parece aparecer después de un tiempo, ya que parece ser otro hilo.

En mi experimento, llamé a este ProgressDialog show() en un oyente cambiado de texto de EditText. Todavía me permite escribir varios caracteres en un período corto antes de aparecer.

¿Hay alguna manera de detectar que ProgressDialog ya comenzó?

Edición 1: Esto se hizo en un dispositivo real. El código es simplemente este:

    editText.addTextChangedListener( new TextWatcher() {
            ...
            public void onTextChanged(CharSequence s, int start, int before, int count) {

                    ProgressDialog lock = new ProgressDialog(UIClass.this);
                    lock.show();

        }
            ...
    });

Mi primera suposición fue que esto mostraría el cuadro de diálogo inmediatamente después del primer carácter que escribo, pero cuando probé escribiendo varios caracteres en un período corto, aún era posible, y el bloqueo solo comienza después del segundo o tercer carácter. Supongo que esto se debe a que ProgressDialog es otro hilo. Deseo saber cómo hacer que bloquee correctamente la interfaz de usuario en el punto exacto que me interesa.

preguntado el 04 de julio de 12 a las 10:07

debe publicar un código de muestra para que podamos reproducir el problema -

¿Este problema también está en el emulador o en un dispositivo real? -

estas creando nuevos ProgressDialog en cada onTextChanged evento, y eso está mal. -

Eso no está relacionado con el problema en absoluto. Al menos un ProgressDialog debería detenerme después de ingresar el primer carácter. También en mi código usé el mismo ProgressDialog que puse en otro lugar, pero es demasiado complicado poner esa parte y distrae a otros de mi problema. -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.