假设我有一个像这样的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 =“”中的值?
答案 0 :(得分:0)
你的想法足够明确且理智,但这并不是资源的运作方式。安卓工具根本看不到您的自定义deg字段,而且这些值被忽略了。
我认为最直接的解决方案是定义一个类似的数值数组来定义角度,例如
<integer-array name="MyArrayVals">
<item>5</item>
<item>55</item>
<item>90</item>
</integer-array>
然后根据用户在MyArray中选择的索引,简单地索引MyArrayVals的值。 这个解决方案要求您作为维护者,确保MyArray中的索引与MyArrayVals中的位置之间的一对一关系有效。