2013-02-03 2 views
2

Я хочу, чтобы таймер появлялся, когда я нажимаю кнопку, которая будет отсчитываться с 3 секунд. И он делает это хорошо, но я хочу, чтобы он также показывал миллисекунды, поэтому, когда я нажимаю кнопку, текст будет идти от 3,0 до 0,1. Как добавить миллисекунды в текстовое представление?Таймер обратного отсчета времени Android миллисекунды?

new CountDownTimer(1000, 3000) { 

       public void onTick(long millisUntilFinished) { 
        textViewTimer.setText("" + millisUntilFinished/1000); 
       } 

       public void onFinish() { 
        textViewTimer.setVisibility(View.INVISIBLE); 
        textViewLevelGained.setVisibility(View.INVISIBLE); 

       } 
      }.start(); 

Это то, что я имею

+0

но у вас уже добавлено millisUntilFinished to textViewTimer in onTick. У вас есть проблема с этим? –

+0

он просто отсчитывает от 3 ... 2 .... 1 ... и не отображает миллисекунды. Я хочу, чтобы он учитывался от 3,0, 2,9, 2,8 и т. Д. –

ответ

6

Другие вопросы SO предложить CountDownTimer не делает суб 1-секундный детализацию хорошо. Посмотрите на другой класс, например TimerTask.

В противном случае будет работать следующее.

new CountDownTimer(3000, 1) { 
    public void onTick(long millisUntilFinished) { 
     textViewTimer.setText("" + millisUntilFinished/1000 
      + "." + millisUntilFinished % 1000); 
    } 

    public void onFinish() { 
     textViewTimer.setVisibility(View.INVISIBLE); 
     textViewLevelGained.setVisibility(View.INVISIBLE); 
    } 
}.start(); 
+0

Это не работает. Он просто отображает «2.189, 1.189», затем останавливается –

+0

Извините, забыли изменить сумму приращения. –

+0

первое значение CountDownTimer должно быть 3000 , но его все еще показывается 2,2, 1,1, а затем останавливается. theres нет 2.9, 2.8, 2.7, см. то, что я говорю? –