我的应用程序根据应用程序中的选定语言设置区域设置。到Kitkat我的代码工作正常。 更新到Lollipop后,未设置区域设置。在这里,我粘贴我的代码以设置区域设置..
Locale locale = new Locale("de_DE");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, null);
答案 0 :(得分:6)
您必须更改区域设置初始化的方式。由此:
Locale locale = new Locale("de_DE");
到此:
String language = "de";
String country = "DE";
Locale locale = new Locale(language , country);
在https://stackoverflow.com/a/27490553/2659558
查看完整回复干杯!
答案 1 :(得分:1)
您可以使用以下代码将语言环境设置为应用程序。
Locale locale = new Locale("de", "DE");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, null);
答案 2 :(得分:0)
结帐Lollipop Set Default local does not work尝试仅使用语言代码" de"而不是" de_DE"。
答案 3 :(得分:0)
您可以使用以下代码:
public static final String COUNTRY_EN = "GB";
public static final String LANG_EN = "en";
country=COUNTRY_EN ;
lang=LANG_EN ;
Locale myLocale = new Locale(lang, country);
Locale.setDefault(myLocale);
Resources res = context.getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.setLayoutDirection(myLocale);
conf.locale = myLocale;
res.updateConfiguration(conf, dm);