0

正確に5秒間進めたいプログレスバーがあります。「for」ループを 10 回実行しようとしており、ループを実行するたびにプログレスバーをバーの 1/10 ずつ増やします。バーを 1/10 ずつインクリメントするコードがありますが、次のようなループを作成しようとしています。

バーを 1/10 に増やして 0.5 秒待機... バーを 2/10 に増やして 0.5 秒待機... バーを 3/10 に増やして 0.5 秒待機... など

これまでのコードは次のとおりですが、機能しません。バーを 10/10 (フル) に進めます。何か案は?

本当にありがとう。

             for(int a = 0; a <= 10; a++){  
                 if(mp1.isPlaying()){   // my 5 second wav file

                       int newProgress = pBar1.getProgress() + (pBar1.getMax() / 10);
                        if (newProgress < 0) {
                            newProgress = 0;
                           }
                  pBar1.setProgress(newProgress);
                 // pause for 0.5 seconds here//
               }
4

2 に答える 2

1

Thread.sleep(500);0.5 秒間一時停止します。ただし、UI スレッド以外のスレッドでこれを行う必要があります。UI スレッドをスリープ状態にすると、スリープが終了するまで、アプリ内の他のすべての操作がロックされます。

于 2012-08-08T22:45:16.003 に答える