= Build.VERSION_CODES.N) { // 8.0需要使用createC_updatec">
当前位置:   article > 正文

Android 多语言切换,部分机型不起作用的问题_updateconfiguration在部分手机型号上失效

updateconfiguration在部分手机型号上失效

要在基类中实现如下代码:

  1. @Override
  2. protected void attachBaseContext(Context newBase) {
  3. LogUtils.d("attachBaseContext", "attachBaseContext : " + Build.VERSION.SDK_INT);
  4. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { // 8.0需要使用createConfigurationContext处理
  5. newBase = updateResources(newBase);
  6. }else{
  7. //切换语言的代码
  8. BaseApplication.getInstance().selectLanguage();
  9. }
  10. super.attachBaseContext(newBase);
  11. }
  12. @TargetApi(Build.VERSION_CODES.N)
  13. public Context updateResources(Context context) {
  14. Locale locale = BaseApplication.getInstance().getLocate();
  15. Configuration configuration = context.getResources().getConfiguration();
  16. configuration.setLocale(locale);
  17. configuration.setLocales(new LocaleList(locale));
  18. return context.createConfigurationContext(configuration);
  19. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/253088
推荐阅读
相关标签
  

闽ICP备14008679号