更改android应用程序语言

参见英文答案 > Change app language programmatically in Android30个
在我的应用程序中,我有一个特殊的菜单,我可以更改应用程序语言.我从项目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

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...