我需要获取应用程序的当前语言环境以显示有关该值的格式化日期。我使用以下代码从上下文中获取语言环境信息:
fun getCurrentLocale(context: Context): Locale {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
context.resources.configuration.locales.get(0)
} else {
context.resources.configuration.locale
}
}
实际上,这些代码可以正常工作,但是如果我两次更改语言,代码将返回旧信息。像这样:设置“ en”,然后设置“ rus”,然后再次设置“ en”,当我打电话给
“ getCurrentLocale”
“ rus”将被返回。这里的要点是应用程序更改语言,我将在同一行中调用以下代码:
`Log.e("transated", getString(R.string.wallet))`
“钱包”将正确翻译。