He creado una vista personalizada (llamémosla MyView
) que básicamente solo dibuja texto sobre sí misma utilizando el lienzo. El texto que se dibujará se establece utilizando una variable global.Forzar una vista para volver a dibujarse
En algún momento durante la ejecución del programa, deseo cambiar la variable global y hacer que el MyView
se vuelva a dibujar para actualizar el texto. Intenté findViewById()
y luego invalidate()
, pero esto no hace nada. Sospecho que, dado que nada en el MyView
ha cambiado, cree que no tiene motivos para llamar al onDraw()
. ¿Hay alguna manera de obligar a una Vista a volver a dibujarse, incluso si cree que no es necesario?
Lo siento, tienes razón, de hecho llamé 'invalidate()'. Quería decir que llamar a 'invalidate()' no funcionaba porque la variable que estaba cambiando era externa a 'View' (era global). Entonces creé una variable interna y la cambié antes de invalidar. –