如何从数组项中获取自定义值

时间:2014-08-29 22:17:20

标签: android arrays

假设我有一个像这样的array.xml;

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="MyArray">
        <item deg="5">A</item>
        <item deg="55">B</item>
        <item deg="90">C</item>
    </string-array>
<resources>

我想从第一项得到“deg”值;

int array = getResources().getIdentifier("MyArray", "array", getPackageName());

String[] myArr = getResources().getStringArray(array);

然后像这样工作(例子);

int degs = myArr[0].get("deg");

所以最后degs变量给了我“5”。我搜索过,但找不到任何解决方案。有没有办法在我的示例代码中执行此操作?

如何获得deg =“”中的值?

1 个答案:

答案 0 :(得分:0)

你的想法足够明确且理智,但这并不是资源的运作方式。安卓工具根本看不到您的自定义deg字段,而且这些值被忽略了。

我认为最直接的解决方案是定义一个类似的数值数组来定义角度,例如

<integer-array name="MyArrayVals">
    <item>5</item>
    <item>55</item>
    <item>90</item>
</integer-array>

然后根据用户在MyArray中选择的索引,简单地索引MyArrayVals的值。 这个解决方案要求您作为维护者,确保MyArray中的索引与MyArrayVals中的位置之间的一对一关系有效。