[英]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.