我是编程机器人的新手,但我有很多编程黑莓的经验。
我创建了一个包含活动类(main.java)和视图类(game.java)的应用。
在视图类中,我有一些位图被绘制到屏幕上。我创建了一个线程,我在线程中移动图像。但是当我在线程中调用invalidate()时,它永远不会重绘屏幕。
您是否无法通过线程使屏幕无效?我知道线程正在运行并且正在调用invalidate,它只是永远不会在屏幕上进行更改。
答案 0 :(得分:28)
如果从非UI线程调用它,则必须使用View.postInvalidate()。 根据文件:
public void postInvalidate() 自:API Level 1
导致在事件循环的后续循环中发生无效。使用此选项可以从非UI线程中使视图无效。