Сижу ужо целый день мучаюсь и наконецто понял... вернее нашел где ошибка...
дело короче обстоит так: у меня игра, главный цикл висит на TimerTask, система такая, что при выигрыше стадии, нужно отменить выполнение главного цикла и передать управление менеджеру, который загрузит новые параметры (картинки и т.п.) и поновой запустит главный цикл...
но не тут то было, отмененный Sheduler снова не запускается...
пример простой программы:
import java.util.Timer;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Midlet extends MIDlet {
public static LoopProgram Loop = new LoopProgram();
public static Timer T=null;
public void startApp() {
T = new Timer();
T.schedule(Loop, 0, 25 );
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
ну и сам ТаймерТаск
import java.util.Timer;
import java.util.TimerTask;
public class LoopProgram extends TimerTask {
public static Midlet Main;
int I=0;
int J=0;
public void run() {
System.out.println("Loop "+I+++" Task "+J);
if (I==50) {
Main.T.cancel();
Main.T = new Timer();
Main.T.schedule(Main.Loop, 0, 25 );
J++;
}
}
}
если процедура вызвалась 50 раз, то переинициализировать таймер...
получается что ничего не получается (перл но так оно и есть)...
прошу помощи, работоспособная альтернатива тоже приветствуется.