如何从字符串数组(在strings.xml中)填充数字选择器



我有一个数字选择器,我可以从常规数组中毫无问题地填充它;然而,当我尝试本地化我的应用程序并将数组放在strings.xml文件中时,挫折感就开始了。

这是字符串.xml(部分(

<!--Set up arrays for the Number Pickers-->
<string name="pieces">Pieces</string>
<string name="kgs">Kgs</string>
<string name="lbs">Lbs</string>
<string name="oz">Oz</string>
<string name="gal">Gal</string>
<string name="liters">Liters</string>
<string name="pints">Pints</string>
<string name="quarts">Quarts</string>
<string name="fl_oz">Fl Oz</string>
<string-array name="all_units">
<item>@string/pieces</item>
<item>@string/kgs</item>
<item>@string/lbs</item>
<item>@string/oz</item>
<item>@string/gal</item>
<item>@string/liters</item>
<item>@string/pints</item>
<item>@string/quarts</item>
<item>@string/fl_oz</item>
</string-array>

然后在MainActivity.kt中,这就是我所拥有的:

val allUnits = arrayOf("Pieces","Kgs", "Lbs", "Oz", "Gal", "liters", "pints", "Quarts", "Fl oz")
npUnitsA.minValue = 0
npUnitsA.maxValue = allUnits.size -1
npUnitsA.displayedValues = allUnits

这很好,但如果我把最后一行改为:

npUnitsA.displayedValues = R.array.all_units

我收到一条错误消息:类型不匹配。必需:数组<(out(字符串>!找到:Int

不用说,我对安卓系统非常熟悉。任何帮助都将不胜感激。

R.javaint中包含标识符,因此预计会出现此错误。你能在这里做的是

getResources().getStringArray(R.array.all_units)

获取资源数组

最新更新