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
Son0nline viết 19:15 ngày 30/09/2018

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

Bài liên quan
0