![]() |
|
| 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 |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Delay entre setText y actualización de la pantalla
Muy buenas!
Seguramente debe ser algo muy básico, pero llevo horas haciendo pruebas y no logro resolverlo. Estoy desarrollando una aplicación en la cual, cuando el usuario clica, deben actualizarse una serie de datos en la pantalla en función de ese clic, y seguidamente se realizan unos cálculos internos antes de actualizarse de nuevo la pantalla. El caso es que, según he leído, pasa un tiempo entre la llamada del setText (por ejemplo) y la actualización del valor en la pantalla del dispositivo, y antes de que se lleve a cabo la actualización en la pantalla se ejecutan las siguientes líneas de código. Sabéis alguna manera de conseguir que el código no siga ejecutándose hasta que se complete la actualización en la pantalla? He probado de poner un Thread.sleep (2000L) justo después del setText, pero no consigo nada. Muchas gracias de antemano! |
|
|
|
#2
|
||||
|
||||
|
Llama al invalidate() del textview después de hacer setText.
Si no es eso es que estás bloqueando el hilo principal y los cálculos deberías hacerlos en otro hilo o en una asynctask. P.D.: Precisamente tu intento de hacer Thread.sleep es un ejemplo de bloquear el hilo principal, uno de los mayores pecados en Android ;) |
|
#3
|
||||
|
||||
|
Ostras, desconocía esta información. Muchas gracias!
Para llamar al invalidate() del TextView, sabes cómo debería llevarse a cabo? Gracias de nuevo! Cita:
|
|
#4
|
||||
|
||||
|
Igual que haces setText haz invalidate, pero ese no es tu problema por lo que cuentas.
El problema es que haces cálculos en el hilo principal y hasta que no dejes de usar el hilo principal Android no puede pintar la pantalla. Esos cálculos que haces hazlos en una AsyncTask |
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 21:16:02 (GMT +1)
HTCMania: líderes desde el 2007






