I have a timer task in a loop;
I want to pass into the time task which number it is in a loop...
Is that possible?
My code:
...
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
}
}
How can I change it so I can use i
in the TimerTask class? -as in each TimerTask will know which i
it was created under/in/from.
Thanks,
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++;
}
...
Give the RegrowCornAnimate
class a constructor that takes an int
and store that in a field. Pass i
to the constructor when you create it.
Create a constructor in RegrowCornAnimate
taking the parameters you'd like to use, then store them as members inside your class.
When RegrowCornAnimate.run
is called read the values.
Please see an example at
http://www.roseindia.net/java/task-scheduling.shtml. This example prints a number with each run.