我在循环中有一个计时器任务;
我想把时间任务传递给循环中的数字...
这可能吗?
我的代码:
...
int i = 0;
while (i < array.size){
Timer timer = new Timer();
timer.schedule(new RegrowCornAnimate(), 0, 1000);
i++
}
...
class RegrowCornAnimate extends TimerTask {
public void run() {
//Do stuff
}
}
如何更改它以便我可以在TimerTask类中使用i
? - 在每个TimerTask中都会知道它是在/ in / from下创建的i
。
谢谢,
答案 0 :(得分:17)
class RegrowCornAnimate extends TimerTask {
private final int serial;
RegrowCornAnimate ( int serial )
{
this.serial = serial;
}
public void run() {
//Do stuff
}
}
...
int i = 0;
while (i < array.size){
Timer timer = new Timer();
timer.schedule(new RegrowCornAnimate( i ), 0, 1000);
i++;
}
...
答案 1 :(得分:4)
为RegrowCornAnimate
类提供一个带int
的构造函数,并将其存储在字段中。在创建构造函数时将i
传递给构造函数。
答案 2 :(得分:3)
在RegrowCornAnimate
中创建一个构造函数,获取您想要使用的参数,然后将它们作为成员存储在您的类中。
调用RegrowCornAnimate.run
时读取值。
答案 3 :(得分:0)
请看一个例子 http://www.roseindia.net/java/task-scheduling.shtml。此示例在每次运行时打印一个数字。