我正在使用Handler.post()进行tic tac toe游戏以更改ui方块的颜色。但是处理程序总是使用相反的颜色,即使我稍后改变颜色(玩家轮到)。
if (board[row][column] == 0) {
if (isMyTurn == true) {
board[row][column] = 1;
} else {
board[row][column] = 2;
}
new Handler().post(new Runnable() {
@Override
public void run() {
if (isMyTurn == true) {
btn.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_light));
} else {
btn.setBackgroundColor(getResources().getColor(android.R.color.holo_red_light));
}
}
}); // end of Handler
} // end of makeMove()
答案 0 :(得分:1)
Handler.post()将Runnable添加到队列中,以便O.S.不立即执行。 http://developer.android.com/reference/android/os/Handler.html#post%28java.lang.Runnable%29