我希望我的应用区域设置可以在应用中更改。所以我使用这段代码来做到这一点:
String languageToLoad = "fa";
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, null);
但问题是我会在关闭并手动打开我的应用后看到更改。但我想在代码行之后立即在app中发生。
我尝试将代码转移到onStart()
而不是onCreate()
方法,并在代码行之后调用onRestart()
。但它没有用。
我应该怎么做才能实现这个目标
答案 0 :(得分:1)
使用这段代码..
public void setLocale(String lang) {
myLocale = new Locale(lang);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
Intent refresh = new Intent(this, YourActivity.class);
startActivity(refresh);
finish();
}