【问题标题】:How do I populate a number picker from a string-array (in the strings.xml)如何从字符串数组(在 strings.xml 中)填充数字选择器
【发布时间】: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


    【解决方案1】:

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

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

    获取资源数组

    【讨论】:

      猜你喜欢
      • 2011-09-07
      • 1970-01-01
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多