[英]android timer exception onResume
我正在按如下方式正确执行活动的定时任务。 但是,当活动onResume时,抛出一个exeption,“Timer Task已经被调度”。 一旦执行任务,我就取消计时器。 怎么解决? 谢谢
final Runnable setButton = new Runnable() {
public void run() {
myClass.aBridge.button_back.setVisibility(View.INVISIBLE);
timer.cancel();
}
};
TimerTask task = new TimerTask(){
public void run() {
webPush.this.runOnUiThread(setButton);
}
};
@Override
protected void onResume() {
super.onResume();
timer = new Timer();
timer.schedule(task, 5000);
}
在onResume之前调用一次task:
timer = new Timer();
timer.schedule(task, 5000);
您只能为每个TimerTask实例调用timer.schedule()一次。 在安排新实例之前创建它。
编辑:对于您的代码,请不要在定义它的位置初始化TimerTask成员变量。 而是在安排它之前在onResume()中创建一个新实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.