关于代码迁移到androidx后,语言环境失效的问题

 @Override
    protected void attachBaseContext(Context newBase) {
        String selectedLanguage = AccountPreference.getLanguage();
        context = LanguageUtil.attachBaseContext(newBase, selectedLanguage);
        super.attachBaseContext(context);
    }

    // fix change language issue after migrate to AndroidX
    // https://stackoverflow.com/questions/55265834/change-locale-not-work-after-migrate-to-androidx
    @Override
    public void applyOverrideConfiguration(Configuration overrideConfiguration) {
        if (overrideConfiguration != null) {
            int uiMode = overrideConfiguration.uiMode;
            overrideConfiguration.setTo(getBaseContext().getResources().getConfiguration());
            overrideConfiguration.uiMode = uiMode;
        }
        super.applyOverrideConfiguration(overrideConfiguration);
    }

完美解决

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。