1

私はアンドロイドで2dグラフィックスで遊んでいます。forループを使用してxとyにランダムジェネレーターを使用しています。奇妙なことに、ループは決して停止しません。

 for (int i = 0; i < 5; i++){
            System.out.println(i);
            invalidate();
            int randomX = randomGenerator.nextInt(1000);
            int randomY = randomGenerator.nextInt(1000);
            canvas.drawPoint(randomX, randomY, paint);
            float radius = 20;
            canvas.drawCircle(randomX, randomY, radius, paint);
        }

logcatを見ると、i=0,1,2,3,4であることがわかります。私は盲目になりますか?i =

4

1 に答える 1

2

forループがビューのonDraw()メソッド内にある場合、呼び出すinvalidate()とビューが強制的に再描画され、onDraw()再度呼び出されるため、無限ループになります。

于 2011-03-12T20:32:17.037 に答える