我正在尝试在Android上以编程方式更改语言环境。我在下面的代码在Incredible(2.2)和Droid(2.2)上运行良好。但是,它不在DroidX(2.1 Update 1)
上这里的任何人都遇到过类似的问题吗?任何见解都会有所帮助。
public void overrideLocale(String languageToLoad) {
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, null);
Intent intent = new Intent(this, ActivityB.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
答案 0 :(得分:2)
尝试:
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = getBaseContext().getResources().getConfiguration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics());
答案 1 :(得分:0)
这对Droid-X不起作用,非常难过 - 它不允许从应用程序内部更改语言环境。