2014-07-08 2 views
0

타이머를 설정하려고합니다. 그냥 당신은 수학을 수정해야 항상 0임을 의미 타이머가 작동하고 있지만 분 60으로 나누어, 00타이머에 분이 표시되지 않습니다.

Handler timerHandler = new Handler(); 
Runnable timerRunnable = new Runnable() { 

    @Override 
    public void run() { 
     long millis = ((System.currentTimeMillis() + resumeTime) - startTime); 
     int hours = (int) ((millis/(1000*60*60)) % 24); 
     int seconds = (int) ((millis/1000) % 60); 
     int minutes = seconds/60; 

     TextView timer = (TextView) findViewById(R.id.textView6); 
     timer.setText(String.format("%02d:%02d:%02d",hours, minutes, seconds)); 

     timerHandler.postDelayed(this, 500); 
    } 
}; 

답변

0

WarrenFaith 초 제안 있듯이

int minutes = seconds/60; 

int minutes = (int) (millis/(1000 * 60)); 

로 변경 그냥 그래서 분을 얻기 위해 항상 0

것을 의미한다 (60)로 나누어, 0과 59 사이에 항상

+0

@Alona 도와 주시겠습니까? 즐겁게 코딩하십시오. –

1

seconds는 0과 59 사이에 항상 남아 ... 몇 초를 카운트 seconds이 아닌 hours을 기반으로 분을 확보하십시오. 수학을하는 것은 당신에게 달린 것입니다 :)

추신 : 귀하의 질문 제목이 귀하의 질문의 첫 문장과 모순된다는 것을 읽었습니다. 유는 분이 항상 00이고 초가 아님을 의미합니다.

+0

죄송합니다. 실수로 편집했습니다. – Alona

관련 문제