私は自分のユーザー インターフェイスがいつ実行されているかを調べようとしていましたが、唯一の仕事がフラグを設定する uiThread に runnable を投稿するという巧妙なアイデアがありました。volatile
on というキーワードを使用しようとしましuiIsRunning
たが、Eclipse では許可されず、まだ理解できません。
しかし、私にとって驚くべきことは、次のコードを final 修飾子なしで試してみたところ、uiIsRunning
そのローカル変数がfinal
. だから私はuiIsRunning final
驚いたことに、Eclipseは私の行でまったく問題ありません。つまり、Eclipseは、このネストされたクラス内uiIsRunning = true;
で変数の値を設定しても問題ないと考えています!final
誰かが私が望むアクションを得るために何をする必要があるかを教えてくれるなら: 現在のスレッドでフラグを false に設定し、それを投稿しているスレッドがそれを実行するときに true に設定します。
final boolean uiIsRunning = false;
uiHandler.post(new Runnable() {
@Override
public void run() {
uiIsRunning = true;
}
});