Как изменить язык без устаревшего метода updateConfiguration() Java Android-студияJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как изменить язык без устаревшего метода updateConfiguration() Java Android-студия

Сообщение Anonymous »

Я делаю это мобильное приложение на Java и хочу иметь возможность выбора языка. Мне удалось это сделать, как показано ниже, но я не хочу использовать устаревший метод updateConfiguration(), но я не смог найти работающую альтернативу

Код: Выделить всё

public class LanguageHandler {
public static final String ENGLISH_LANG_CODE = "en";
public static final String POLISH_LANG_CODE = "pl";
private static String currentLanguage = ENGLISH_LANG_CODE;

public static void setLanguage(@NonNull Context context, String languageCode) {
if (languageCode.equalsIgnoreCase(currentLanguage)) {
return;
}

Locale locale = new Locale(languageCode);
Locale.setDefault(locale);

Configuration configuration = context.getResources().getConfiguration();
configuration.setLocale(locale);
configuration.setLocales(new android.os.LocaleList(locale));
Context updatedContext = context.createConfigurationContext(configuration);
if (context instanceof Activity && !languageCode.equalsIgnoreCase(currentLanguage)) {
currentLanguage = languageCode;
Activity activity = (Activity) context;
activity.getBaseContext().getResources().updateConfiguration(configuration, updatedContext.getResources().getDisplayMetrics());
activity.recreate();
}
}
}
Вот как я использую этот класс в своей деятельности

Код: Выделить всё

    private void setUpLanguageSelector() {
RadioGroup languageSelector = findViewById(R.id.language_selector);
languageSelector.check(R.id.lang_english);
languageSelector.setOnCheckedChangeListener((radioGroup, checkedID) -> {
if(checkedID == R.id.lang_english) {
setLanguage(StartViewActivity.this, ENGLISH_LANG_CODE);
} else if (checkedID == R.id.lang_polish) {
setLanguage(StartViewActivity.this, POLISH_LANG_CODE);
}
});
}
Может ли кто-нибудь помочь мне с альтернативным подходом или подсказать, как я могу настроить структуру моего проекта, чтобы он работал без устаревшего метода? Если проблема связана с моей нынешней структурой, я был бы признателен за совет, как действовать дальше.

Подробнее здесь: https://stackoverflow.com/questions/793 ... od-java-an
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»