-3

いずれかのアイデアがあれば、タイマーは期間配列に基づいてスケジュールされ、期間配列の長さが完了すると、最初から再び開始されます。このいくつかのループでは、完全に機能するいくつかの回がクラッシュし、arrayoutofboundsexception を通過します。どんな杖でも助けて???

int[] duration={10000,2000,8000};
int layoutIncrment=-1;
private void layoutRotate()
{  layoutIncrment++;
    Timer timer = new Timer();
    timer.schedule(new TimerTask()
    {   public void run()
        {
            if((duration.length-1) <= layoutIncrment)
                layoutIncrment=-1;

            layoutRotate();
            Log.i("Rotation",String.valueOf(layoutIncrment));
    }   },duration[layoutIncrment],100000);
}
4

1 に答える 1

0

なぜあなたはこのようにしようとしないのですか。それはwhileループで実行され続けます..それはあなたが望むだけです。右?

    int n=1;

    while(n>0)
    {
    for(int i=0;i<duration.length;i++)
    {

    new Handler().postDelayed(new Runnable() {
     @Override
    public void run() {
   //add ur code here
    }
    }, duration[i]);
    }
    }
于 2016-09-27T07:32:09.410 に答える