2
我想用一個每秒更新一次標籤的時間(所以它顯示倒計時),但它只有 似乎是「滴答」一次,我無法弄清楚我是什麼做錯了!黑莓計時器不啓動TimerTask
public class Puzzle extends UiApplication {
public static void main(String[] args) {
Puzzle puzzle = new Puzzle();
puzzle.enterEventDispatcher();
}
public Puzzle() {
pushScreen(new PuzzleScreen());
}
}
class PuzzleScreen extends MainScreen {
LabelField timerLabel;
Timer timer;
public static int COUNT = 0;
public PuzzleScreen() {
//set up puzzle
VerticalFieldManager vfm = new VerticalFieldManager();
add(vfm);
timerLabel = new LabelField();
timerLabel.setText("00:20");
vfm.add(timerLabel);
StartTimer();
}
void StartTimer() {
timer = new Timer();
timer.schedule(new TimerTick(), 1000);
}
private class TimerTick extends TimerTask {
public void run() {
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
timerLabel.setText((COUNT++) + "");
}
});
}
}
任何人都可以看到我做錯了什麼..?發生的所有事情是我的標籤get被設置爲「0」,然後不會改變。我在計時器tick類中運行了一個斷點,但我沒有看到它發射!
貝克斯
就像您發佈它點擊了!哎呀!新來Java和缺少我的C#位!謝謝! – Bex 2011-04-19 16:45:22
很高興幫助! – jprofitt 2011-04-19 17:00:43
@jprofitt,我只想調用我的方法一次,所以這將是聲明? timer.schedule(new TimerTick(),1000); – 2011-09-06 12:35:12