我的情况: 我只想将分钟和秒格式化为时钟文本格式。 当我使用String.format时,我收到警告 "隐式使用默认语言环境是错误的常见来源"
我该怎么办呢?我是否必须添加Locale.US或者我可以忽略它吗? 我很困惑因为没有回答我看到有人使用String.format(Locale.US,...)
private void updateCountDownText() {
int minutes = (int) (mTimeLeftInMillis / 1000) / 60;
int seconds = (int) (mTimeLeftInMillis / 1000) % 60;
String timeLeftFormatted = String.format("%02d:%02d", minutes, seconds);
mTextViewCountDown.setText(timeLeftFormatted);
}
答案 0 :(得分:3)
这只是一个警告而不是错误。出现此警告的原因是,对于不同的语言环境,在极少数情况下,相同的操作可能会导致不同的结果。您必须选择使此警告消失:
添加忽略注释
@SuppressLint("DefaultLocale")
显式放置Locale参数
String timeLeftFormatted = String.format(Locale.getDefault(), "%02d:%02d", minutes, seconds);