我已经声明了名为"values-mm"
的自定义值资源。
每当我尝试使用值为"mm"
的以下代码段更改应用程序的语言环境时,语言环境都不会更改。而是将默认的"en_US"
用作语言环境。
public void changeLanguage(String languageToLoad) {
showLog("Language to be loaded :- " + languageToLoad);
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Resources resources = getApplicationContext().getResources();
Configuration config = resources.getConfiguration();
config.setLocale(locale);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
createConfigurationContext(config);
} else
resources.updateConfiguration(config, resources.getDisplayMetrics());
}
任何想法这有什么问题吗?我还宣布了
android:configChanges="keyboard|keyboardHidden|orientation|layoutDirection|locale"
。请帮我解决一下这个。我坚持了太久了。