Handler.post()不会立即执行

时间:2015-12-19 16:24:40

标签: java android handler

我正在使用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()

1 个答案:

答案 0 :(得分:1)

Handler.post()将Runnable添加到队列中,以便O.S.不立即执行。 http://developer.android.com/reference/android/os/Handler.html#post%28java.lang.Runnable%29