【发布时间】:2021-01-04 16:27:10
【问题描述】:
我有一个数字选择器,我可以毫无问题地从常规数组中填充它;但是,当我尝试本地化我的应用程序并将数组放在 strings.xml 文件中时,就开始沮丧了。
这是 strings.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
我收到一条错误消息: 类型不匹配。 必需:数组! 找到:整数
不用说,我对 Android 非常熟悉。任何帮助将不胜感激。
【问题讨论】:
标签: android arrays kotlin locale numberpicker