

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

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

[code]

    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;
        }
    }
    
[/code]


CC BY-SA 4.0
2018-09-30T13:40:23.053
48854
2021-03-07T04:30:55.380
2021-03-07T04:30:55.380
3060
26076
question
java android
for文のループが終わってから処理される


ソースコードを読んでいないので推測を含みますが、`button.setBackgroundColor()`メソッドを呼び出しても、背景色を表す数値が`button`インスタンスに渡されるだけで、その値を参照して実際のボタンの背景色を変える処理が実行されていないからではないでしょうか。時間をおいて背景色をセットしたいということであれば、[このページ](https://stackoverflow.com/questions/51080537/setbackgroundcolor-
is-getting-ignored)が参考になるかもしれません。


CC BY-SA 4.0
2018-09-30T14:07:10.857
48855
2018-10-01T04:08:41.903
2018-10-01T04:08:41.903
21092
21092
48854
answer