我的应用程序有0到120分钟的选择器。我想像这样显示时间:“在...分钟”。
我找到了方法DateUtils#getRelativeTimeSpanString(long, long, long)
,它可以正常使用60分钟以下的值。但是,如果该值为60分钟或更高,则会将其显示为“ 1小时”,而不是“ 120分钟”。
这是我正在使用的代码:
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 :(得分:0)
根据评论,您可以使用字符串资源。首先,创建一个复数资源,以支持"在1分钟内"和"在2分钟内":
<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);