2011-12-12 3 views
0

1 분에서 0 초까지 카운트 다운을 시도하고 있습니다.Android에서 시간 형식을 사용하는 방법

나는 이미 타이머를 만들었습니다. 난 그냥 내가 1 분 1시 1 분을 표시하고 int에서 마이너스 1 secodn 같은 카운트를 유지하고 String : 59로 변환 할 문자열로 100 int로 변환 할 알고 있어야합니까?

제안 사항?

+0

귀하의 사례에서 "100"은 무엇입니까? 100 초? 당신은 100을 1:00로 변환하려고하지만 100은 1:40 (1m40s)으로 변환한다고 말하고있는 것입니다. 100 초를 분과 초로 문자열로 변환하는 방법을 묻고 있습니까? –

답변

2

난 당신이 단순히 60로 번호를 나눌 제대로 질문을 이해한다면 분을 얻고 나서 60을 사용하여 초를 얻은 다음 문자열을 연결하십시오. 5

: 당신이 그것을 공상 얻고 싶은 경우에이 1시 5분보다는 하나처럼 보이도록

int remainingTime = 100;// or whatever number of seconds you have left 
String min = (remainingTime/60) + ""; 
String sec = (remainingTime % 60) + ""; 

String remainingTimeStamp = "min" + ":" + "sec"; 

, 분, 초 10보다 작은 경우는 볼 앞에 0을 추가 확인 "나는 이미 내 타이머가있다"라는 것이 무슨 뜻인지 잘 모르겠습니다. 내가 계속 정교하기 전에 당신이 의미하는 바를 추측하기보다는 당신의 질문을 업데이트 할 때까지 기다릴 것입니다.

+0

그러면 10보다 작 으면 어떻게 0을 붙일 수 있습니까? 편집을 할 수 있습니까? –

+0

더 좋음 : \t \t SimpleDateFormat df = new SimpleDateFormat ("mm : ss"); 문자열 형식 = df.format (remainingTime * 1000); – Steven

+0

@coder_for_life, 스티븐의 대답은 실제로 이것이 당신이하려는 일이라면 더 효율적인 것입니다. 나는 당신이 실제로 성취하려는 것을 확신하지 못하기 때문에 좀더 자세한 답을 주었다. 그리고 친구 야,하지만 불쾌감은 없지만 숫자가 10보다 작은 경우 문자열에 선행 "0"을 추가하는 방법을 알아내는 데 도움이 필요하면 타이머가 작동한다는 주장에 대해 심각한 의구심을 갖습니다. 아웃. 스레드에서 실행하고 있습니까? (그렇지 않으면 안되나?) 그렇지 않으면 UI 스레드에 있는데, 그러면 매우 불쾌한 결과가 나타납니다. –

1
  • 편집 : 당신이 포맷 여기 백초를 포맷 찾고 있던 보이므로 :

    SimpleDateFormat df = new SimpleDateFormat("mm:ss"); 
    String formatted = df.format(remainingTime * 1000); 
    
관련 문제