エラーについて【java.lang.Illagal Station:Timer already cancerled】
一つのTimeTaskはscheduleの方法で使ってから、scheduleの方法で二回目を呼び出してはいけません。重複して使いたいのはだめです。使い捨てです。
このtimetaskを再利用したい場合、もう一度例を得るしかないです。種類を書いたほうがいいです。
このtimetaskを再利用したい場合、もう一度例を得るしかないです。種類を書いたほうがいいです。
class MyTask extends TimerTask{
@Override
public void run(){
// TODO Auto-generated method stub
//do something
}
};
このTimerTaskを再利用する時には、このようにしてもいいです。task = new MyTask();
timer.schedule(task, 1000);
このように一回だけ使うtimerに対しては、使用が完了したら停止して、新しいスレッドを作るという意味で、使わなくても廃棄してください。timer.cancel();
timer.purge();
timer = null;
一回使うたびにtimer = new Timer();
もちろんあなたもこのtimerを常に存在させてもいいです。new taskを再起動する前に、呼んだほうがいいです。task.cancel();