2014-08-29 87 views
0

可以說我有一個像這樣的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

您無法指定 2014-08-29 22:28:14

回答

0

你的想法很清楚,理智,但這不是資源的工作方式。 Android工具根本看不到您的自定義deg字段,並且這些值完全被忽略。

相信最直接的解決方案是限定的類似的數字陣列,以限定這樣的角度作爲

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

然後就簡單索引處根據MYARRAY用戶的選擇的索引MyArrayVals的值。 這個解決方案要求你作爲維護者確保MyArray中的索引與MyArrayVals中的位置之間的一對一關係是有效的。

+0

的屬性我明白了。如果可以指定自定義屬性,則會更容易。不管怎麼說,謝謝你,我會照你說的去做。 – ctarimli 2014-08-29 22:33:16