在不知道的情况下按名称访问intArray

时间:2017-04-02 14:31:15

标签: android xml

我有一个xml文件,位于./values,如下所示:

<resources>
    <integer-array name="Bulbasaur">
        <item name="hp">0</item>
        <item name="atk">0</item>
        <item name="def">0</item>
        <item name="speatk">1</item>
        <item name="spedef">0</item>
        <item name="speed">0</item>
    </integer-array>

    <integer-array name="Ivysaur">
        <item name="hp">0</item>
        <item name="atk">0</item>
        <item name="def">0</item>
        <item name="speatk">1</item>
        <item name="spedef">2</item>
        <item name="speed">0</item>
    </integer-array>
...
</resources>

我希望按名称访问intArrays,但我无法使用R.id.stuff,因为我从输入中获取了名称。我已经尝试使用getIdentifier()然后getIntArray(),就像这样:

getResources().getIntArray(getResources().getIdentifier("nameOfArray", "int[]", MyActivity.this.getPackageName())

但它没有用。我究竟做错了什么?如何访问这些阵列?

1 个答案:

答案 0 :(得分:1)

请查看答案here。您宁愿使用"array"代替"int[]"作为Resources#getIdentifier方法的第二个参数。