Android 从字符串数组中获取属性名

Android 从字符串数组中获取属性名,android,android-xml,Android,Android Xml,我的字符串数组如下所示: <string-array name="USA"> <item name="NY">001</item> <item name="LA">002</item> <item name="WA">003</item> </string-array> 但是我怎样才能同时得到这些名字(纽约、洛杉矶、华盛顿)? 请注意,我有很多县。。。也许使用不同的方法 St

我的字符串数组如下所示:

<string-array name="USA">
    <item name="NY">001</item>
    <item name="LA">002</item>
    <item name="WA">003</item>
</string-array>
但是我怎样才能同时得到这些名字(纽约、洛杉矶、华盛顿)? 请注意,我有很多县。。。也许使用不同的方法

String[] numbers = getResources().getStringArray(R.array.USA);
要从数组中获取数据,请使用

numbers[id]
像这样添加数组

<string-array name="USA">
    <item>NY</item>
    <item>LA</item>
    <item>WA</item>
</string-array>

纽约
洛杉矶
华盛顿州
既然“001”只是索引,为什么不直接使用它呢

<string-array name="USA">
    <item>NY</item>
    <item>LA</item>
</string-array>
除此之外,您可以使用两个数组并将它们合并到一个
HashMap

<string-array name="USA">
    <item>NY</item>
    <item>LA</item>
</string-array>

<string-array name="USA_pos">
    <item>001</item>
    <item>002</item>
</string-array>

String[] usaStates = getResources().getStringArray(R.array.USA);
String[] usaStatePositions = getResources().getStringArray(R.array.USA_pos);

Map <String, String> map = new HashMap<>(usaStates.length);

for (int i = 0; i < usaStates.length; i++) {
    map.put(usaStates[i], usaStatePositions[i]);
}

纽约
洛杉矶
001
002
字符串[]usaStates=getResources().getStringArray(R.array.USA);
字符串[]usStatePositions=getResources().getStringArray(R.array.USA_pos);
Map Map=新的HashMap(usaStates.length);
for(int i=0;i中没有
名称的
属性

所以我不认为会有任何办法得到那些钥匙


但是,如果您想获取
字符串
字符串数组
的名称,可以通过编程方式获取,但对于

则不能,您可以改为制作HashMap。试试这个。
String[] usaStates = getResources().getStringArray(R.array.USA);

int index = 0;

String firstStateName = usaStates[index];
int firstStatePosition = (index + 1);
<string-array name="USA">
    <item>NY</item>
    <item>LA</item>
</string-array>

<string-array name="USA_pos">
    <item>001</item>
    <item>002</item>
</string-array>

String[] usaStates = getResources().getStringArray(R.array.USA);
String[] usaStatePositions = getResources().getStringArray(R.array.USA_pos);

Map <String, String> map = new HashMap<>(usaStates.length);

for (int i = 0; i < usaStates.length; i++) {
    map.put(usaStates[i], usaStatePositions[i]);
}