我已经有了“ values”和“ values-hu”文件夹,其中包含strings.xml文件。当我将字符串资源获取到listview元素时,在API 24上一切正常,但是当我尝试在API 26或API 28上获取相同的字符串资源时,我得到的是英语单词,而不是匈牙利语。这些是具有默认本地化“ En”的仿真设备。
我的“ hu”本地电话(Galaxy S8 API 26)上也发生了同样的事情,反之亦然。无论我在应用程序中选择英语还是匈牙利语,我都会得到匈牙利语单词。我在做错什么吗?
这些是XML-s,我从资源文件中获取字符串:
<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
}
这是屏幕截图:
您需要重新开始活动。看到这个:Unable to change language in Oreo