任何人都会提出想法,Timer将根据持续时间数组进行调度,如果完成持续时间,则数组长度将从第一个开始。在这个循环中,某些循环完美地运行会崩溃并通过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);
}
答案 0 :(得分: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]);
}
}