参见英文答案 >
Change app language programmatically in Android30个
在我的应用程序中,我有一个特殊的菜单,我可以更改应用程序语言.我从项目API(通过解析JSON)获取标签和项目值xml.Can我更改Android应用程序语言而无需重新启动应用程序和сhangibg系统语言.
在我的应用程序中,我有一个特殊的菜单,我可以更改应用程序语言.我从项目API(通过解析JSON)获取标签和项目值xml.Can我更改Android应用程序语言而无需重新启动应用程序和сhangibg系统语言.
解决方法
插入此方法并调用它来更改语言.
private void setLocale (String localeCode,Bundle b ){ Log.d(TAG+"set location function: "+localeCode); locale = new Locale(localeCode); Locale.setDefault(locale); Configuration config = new Configuration(); config.locale = locale; getBaseContext().getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics()); getApplicationContext().getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics()); UserDetail.this.getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics()); onCreate(null); }
在切换更改或任何选择调用值时,如下所示:
setLocale("en-us",savedInstanceStat); // for english setLocale("ar",savedInstanceStat); // for arabic