我的情况:我只想将分钟和秒格式化为时钟文本格式。当我使用String.format时,我得到警告“隐式使用默认语言环境是bug的常见来源”
我该怎么办呢?我是否必须添加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);
}
这只是一个警告,而不是一个错误。出现此警告的原因是,对于不同的语言环境,在极少数情况下,相同的操作可能会导致不同的结果。你必须有选项让这个警告消失:
@SuppressLint("DefaultLocale")
String timeLeftFormatted = String.format(Locale.getDefault(), "%02d:%02d", minutes, seconds);