2017-10-16 13 views
0

내 앱에는 0 - 120 분의 선택 도구가 있습니다. 나는 이렇게 시간을 표시하고 싶다 : "... 분".DateUtils # minutesRelativeTimeSpanString (분, 초, 초)에서 분을 강제로 작성하는 방법?

DateUtils#getRelativeTimeSpanString(long, long, long) 메서드를 발견했으며 60 분 미만의 값에서는 올바르게 작동합니다. 그러나 값이 60 분 이상이면 "120 분"대신 "있음 1 시간"으로 표시됩니다.

나는 코드를 사용하고 있습니다 :

int minutes = 70; 
long millis = minutes * 60 * 1000; 
String text = DateUtils.getRelativeTimeSpanString(millis, 0L, DateUtils.MINUTE_IN_MILLIS); 
myTextView.setText(text); // Displays "In 1 hour" instead of "In 70 minutes". 

은 어떻게 분에있을 출력을 강제 할 수 있습니까?

+0

당신은 또한을 사용하려고 할 수 있습니다 첫째, 모두가 "이분에서"와 "1 분"을 지원하기 위해, 복수 리소스를 만들 문자열 리소스를 사용하고 원하는 것을 성취 할 수있는 시간을 계산하십시오. –

+0

글쎄, 어쩌면 거기에 자바와 함께 할 수있는 방법이지만, 당신은 이미 분 동안'getRelativeTimeSpanString'을 사용하여? – Ibrahim

+0

@GabrielCosta 이미 번역되었으므로 가능한 경우 기본 Android 문자열을 사용하고 싶습니다. –

답변

0

주석을 기반으로 문자열 리소스를 사용할 수 있습니다. 그런 다음

<plurals name="time_remaining_in_minutes"> 
     <item quantity="one">In %1$d minute</item> 
     <item quantity="other">In %1$d minutes</item> 
</plurals> 

은, 코드 내에서 호출 :

int minutes = 70; 
long millis = minutes * 60 * 1000; 
String text = getResources.getQuantityString(R.plurals.time_remaining_in_minutes, minutes, minutes); 
myTextView.setText(text); 
+0

이것이 가능하다는 것을 알고 있지만 댓글, 기본 Android 문자열을 사용하고 싶습니다. (그들은 이미 여러 언어로 번역되었습니다). –

+0

죄송합니다, 귀하의 답변을 오해했습니다. 나는 당신이 안드로이드 문자열의 insted 문자열 리소스를 의미한다고 생각. 그럴만 한 가치가 있다면 다른 언어의 strings.xml 파일을 만들 수 있습니다 (수동). –