我正在开发一个应用程序,它可以通过事件重新启动。在第一次运行时,计时器工作正常(1秒= 1增量)。但是,在第三次运行(1秒= 4增量)的下一次运行(1秒= 2增量),依此类推...... 我认为正在创建的新TimerTask对象有问题。但是,不知道如何处理它。任何建议或替代?
CODE SNIPPET
Timer t = new Timer();
void timerMethod()
{
t.schedule(new TimerTask() {
public void run() {
timerInt++;
//TODO bug in timer in consecutive runs. To confirm, see log
Log.d("timer", "timer " + timerInt);
/* runOnUiThread(new Runnable() {
@Override
public void run() {
timerDisplayPanel.setText( timerInt + " Sec");
}
});*/
}
}, 1000, 1000);
}
答案 0 :(得分:2)
听起来好像你多次打电话给timerMethod()
。
当你调用它三次时,你已经安排了三个计时器任务 - 所以它们都会每秒触发,并且所有增量timerInt
。您可能需要多次调用它,或者在添加更多内容之前取消现有的计时器任务。
如果不,请提供一个简短但完整的程序来显示正在发生的事情。目前的背景相当模糊。
答案 1 :(得分:0)
您提供的代码段正常运作
等
所以问题可能在你的代码中的其他地方。