Android Studioでプログラミングを行っています。ランダムな数字が格納されているListからfor文で値を取り出しswitch文で処理をふりわけています。

button.setBackgroundColor(Color.Black)としている部分があるのですが
なぜかfor文の処理がすべて終わったあとに色が変わります。原因を教えていただきたいです。よろしくお願いいたします。

for(int r : randomList){
    try {
        sleep(500);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    switch (r) {
        case 1:
            button1.setBackgroundColor(Color.BLACK);
            break;
        case 2:
            button2.setBackgroundColor(Color.BLACK);
            break;
        case 3:
            button3.setBackgroundColor(Color.BLACK);
            break;
        case 4:
            button4.setBackgroundColor(Color.BLACK);
            break;
    }
}