区域设置已更改,但字符串资源未更新

时间:2019-03-25 13:13:07

标签: android configuration localization locale getresource

我在更改语言环境时遇到问题,我已经尝试过此https://stackoverflow.com/a/40704077/2199589 以及以下同时包含BaseContext和ApplicationContext的代码片段,它们都无法正常工作。我已将当前语言保存为共享首选项。即使该值正确,字符串资源也不会按应有的方式进行更新。

public void changeLanguage(String languageToLoad) {
    showLog("Language to be loaded :-  "+ languageToLoad);
    Locale locale = new Locale(languageToLoad);
    Locale.setDefault(locale);
    Configuration config = new Configuration(getApplicationContext().getResources().getConfiguration());
    config.setLocale(locale);
    getApplicationContext().getResources().updateConfiguration(config,getApplicationContext().getResources().getDisplayMetrics() );

}

调用此方法后,我已经更新了UI,而UI实际上进行了刷新。所以知道发生了什么问题吗?请帮助我。

0 个答案:

没有答案