createConfigurationContext не работает - PullRequest
0 голосов
/ 16 февраля 2020

Я хочу изменить язык своего приложения, это код, который я поддерживаю для различных версий API

val config: Configuration = context.getResources().getConfiguration()
    val locale = Locale(getDefaultLang())
    val res: Resources = context.getResources()
    if (Build.VERSION.SDK_INT >= 17) {
        config.setLocale(locale)
    } else {
        config.locale = locale
    }
    val dm = res.displayMetrics
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        context.createConfigurationContext(config);
    } else {
        context.getResources().updateConfiguration(config,dm);
    }

Проблема в том, что на API 23 и выше, он идет в эту строку:

context.createConfigurationContext(config);

но это не влияет на приложение, и я должен использовать эту строку, чтобы заставить его работать

res.updateConfiguration(config, dm)

как вы знаете, обновление конфигурации устарело

как почини это ?

...