30/09/2018, 17:03
Lỗi timer chạy không đúng trong java midlet
chào mọi người!
mình mơi làm quen với java và có làm 1 tool nho nhỏ để test tốc độ gõ phím trên điện thoại (giống trên 10fastfingers)
mình có code timer như sau nhưng nó chạy rất nhanh và ko chính xác
private void startTimer() {
// Create a task to be run
task = new TimerTask() {
public void run() {
//countdown--;
if (countdown <= 0) {
stopTimer();
txtInput.setConstraints(TextField.UNEDITABLE);
} else {
lblTimer.setText("00:" + Integer.toString(--countdown));
}
}
};
// Create a timer and schedule it to run
timer = new Timer();
timer.schedule(task, 1000, 1000);
}
private void stopTimer() {
if (timer != null) {
System.out.println("Stopping the timer");
task.cancel();
timer.cancel();
timer = null;
}
}
nó gặp 1 số lỗi sau
- timer chạy nhanh bất thường cả trên emulator và mấy thật mình test trên con BB
- timer không dừng được
Bài liên quan
xấu hổ quá có dùng biến IsStarted để check starttimer quên không đổi trạng thái nên start liên tục