[英]Using timer.schedule for repeating a method
我正在嘗試制作一個類似計數器的應用程序。 但是,我正在嘗試賺取某種收入,以便應用程序能夠自行計算。
class Income extends TimerTask {
@Override
public void run() {
CowCount = CowCount + income;
}
}
Timer timer = new Timer();
timer.schedule(new Income(), 1000);
到目前為止是這樣。 但是,它不起作用。 在timer.schedule中,中間的點被視為錯誤,在同一行的“收入”之后的第一個括號和第二個括號被視為錯誤。 在這個問題上 ,看來我在做正確的事。
最后一件事:即使我開始運行其他方法,此計時器也將繼續運行嗎? 如果停止,我想我需要尋找另一種方法。
編輯:這些是錯誤:1.令牌上的語法錯誤,構造放置不正確2.令牌上的語法錯誤((,, =預期)3.令牌上的語法錯誤)),無效參數列表。
第一個錯誤出現在計時器與時間表之間的點上,第二個錯誤出現在時間表之后的括號中。 第三個錯誤是在最后一行“收入”之后的第二個括號中。
確保您使用的是java.util.Timer
類。 而且,如果您這樣做了,那么就會告訴我:
Timer timer = new Timer();
timer.schedule(new Income(), 1000);
這些代碼不在任何類上下文中。 您需要在類成員函數內部或構造函數內部執行此操作。 例如:
public class checkTimer extends TimerTask{
int counter = 0;
public void startTimer()
{
Timer timer = new Timer();
timer.schedule(this, 500, 500);
}
@Override
public void run() {
counter++;
System.out.println(counter); // use logCat to see
}
}
最后一件事:即使我開始運行其他方法,此計時器也將繼續運行嗎? 如果停止,我想我需要尋找另一種方法。
計時器將運行,但是您正在使用timer.schedule(new Income(), 1000);
這實際上是schedule(TimerTask, delay)
。 在定義的延遲時間后它將運行一次。 對於重復的任務,您將需要使用-
schedule (TimerTask task, long delay, long period)
功能。 其中period
是后續執行之間的時間間隔(以毫秒為單位)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.