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

하지만 이미 onTick의 textViewTimer에 millisUntilFinished가 추가되었습니다. 그게 무슨 문제 있니? –

+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, 내가 무슨 말하는지 보지? –

관련 문제