14

我是编程机器人的新手,但我有相当多的黑莓编程经验。

我创建了一个具有活动类 (main.java) 和视图类 (game.java) 的应用程序。

在视图类中,我将一些位图绘制到屏幕上。我创建了一个线程,并在线程中移动图像。但是,当我在线程内调用 invalidate() 时,它永远不会重绘屏幕。

您不能从线程中使屏幕无效()吗?我知道线程正在运行并且正在调用无效,它只是永远不会在屏幕上进行更改。

4

1 回答 1

28

如果您从非 UI 线程调用它,则必须使用View.postInvalidate() 。根据文档:

public void postInvalidate () 自:API 级别 1

导致在事件循环的后续循环中发生无效。使用它来使来自非 UI 线程的视图无效。

于 2011-01-05T17:38:44.407 回答