我有一个字符串数组
<string-array name="Color">
<item>@string/red</item>
<item>@string/green</item>
<item>@string/purple</item>
</string-array>
<string name="red">red></string>
<string name="green">green></string>
<string name="purple">purple></string>
我用Java评估它:
int id = R.array.Color;
String[] colors = getResources().getStringArray(id);
variantTextView.setText(getResources().getResourceEntryName(id));
ansA.setText(colors[0]);
ansB.setText(colors[1]);
ansC.setText(colors[2]);
- 如何本地化此数组的NAME
- 是否需要像我那样提取字符串?或者有没有一种方法可以定位整个数组
如何本地化此数组的NAME?
您不需要,就像您在Java/Kotlin代码中本地化变量名一样。如果要向用户显示Color
,请将其作为单独的字符串资源显示。
是否需要像我这样提取字符串?
否。
或者有办法定位整个数组吗?
拥有Colors
<string-array>
的两个副本,每个副本都位于基于语言的适当资源集中。每个<string-array>
可以具有<item>
元素,这些元素包含实际的字符串,而不是对字符串资源的引用。如果您希望数组具有不同的元素顺序(例如,按字母顺序排序(,则可以执行此操作。