14

私はアンドロイドのプログラミングに不慣れですが、ブラックベリーのプログラミングにはかなりの経験があります。

アクティビティクラス(main.java)とビュークラス(game.java)を持つアプリを作成しました。

ビュークラス内で、いくつかのビットマップが画面に描画されています。スレッドを作成し、スレッド内で画像を移動しています。ただし、スレッド内でinvalidate()を呼び出すと、画面が再描画されることはありません。

スレッドから画面をinvalid()することはできませんか?スレッドが実行されていて、invalidateが呼び出されていることはわかっていますが、画面に変更が加えられることはありません。

4

1 に答える 1

28

非 UI スレッドから呼び出す場合は、View.postInvalidate()を使用する必要があります。ドキュメントによると:

public void postInvalidate () 以降: API レベル 1

イベント ループの後続のサイクルで無効化を発生させます。これを使用して、非 UI スレッドからビューを無効にします。

于 2011-01-05T17:38:44.407 に答える