У меня есть папки 'values' и 'values-hu' с файлами strings.xml внутри.Когда я получаю строковый ресурс в элемент списка, все отлично работает на API 24, но когда я пытаюсь получить тот же строковый ресурс на API 26 или API 28, я получаю английское слово вместо венгерского.Это эмулируемые устройства с локализацией по умолчанию «En».
То же самое происходит на моем локализованном телефоне 'hu' (Galaxy S8 API 26), но наоборот.Независимо от того, я выбираю английский или венгерский язык в приложении, я получаю венгерские слова.Есть ли что-то, что я делаю неправильно?
Это XML-файлы, где я получаю строки из файла ресурсов:
<TextView
android:id="@+id/buy_headerc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text_buy"
android:textStyle="bold"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/sell_headerc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text_sell"
android:textStyle="bold"
android:textColor="@android:color/black" />
И здесь я устанавливаю локализацию:
public void whichLanguageSelected(){
if (RadioButtonEnglish.isChecked()){
selectedLanguage = "en";
}
else if (RadioButtonHungarian.isChecked()){
selectedLanguage = "hu";
}
Locale setLocaleTo = new Locale(selectedLanguage);
Locale.setDefault(setLocaleTo);
Configuration config = getBaseContext().getResources().getConfiguration();
config.locale = setLocaleTo;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); // módosítások mentése
}
Вот скриншот:
введите описание изображения здесь
Вам необходимо возобновить свою деятельность.См .: Невозможно изменить язык в Oreo