Android 获取数组中某项的值

Android 获取数组中某项的值,android,android-studio,Android,Android Studio,我将以下项目存储在string.xml文件中的数组字符串中 <string-array name="cr"> <item name="x"> 20</item> <item name="y"> 40</item> <item name="z"> 60</item> <item name="k"> 80</item> <item name

我将以下项目存储在string.xml文件中的数组字符串中

    <string-array name="cr">
    <item name="x"> 20</item>
    <item name="y"> 40</item>
    <item name="z"> 60</item>
    <item name="k"> 80</item>
    <item name="i"> 100</item>
    <item name="l"> 120</item>

</string-array>

20
40
60
80
100
120
如何使用mainactivity.java文件中的项名称获取值(例如80)


int index=Arrays.asList(getResources().getStringArray(R.array.cr)).indexOf(…);我试过了,但没用我想你需要这样的东西

String[] yourArray = getResources().getStringArray(R.array. cr);
String yourString = yourArray[3];

希望这就是你需要的

我想你需要这样的东西

String[] yourArray = getResources().getStringArray(R.array. cr);
String yourString = yourArray[3];

希望这就是您需要的

您可以使用两个数组(一个用于键,一个用于值),然后将它们放入Hashmap对象中。

例如:

    String[] mobileArray = getResources().getStringArray(R.array.mobile);
    String[] priceArray = getResources().getStringArray(R.array.price);

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

    for (int i = 0; i < mobileArray.length; i++) {
        map.put(mobileArray[i], priceArray[i]);
    }
String[]mobileArray=getResources().getStringArray(R.array.mobile);
字符串[]priceArray=getResources().getStringArray(R.array.price);
Map Map=newhashmap();
对于(int i=0;i
strings.xml

<string-array name="mobile">
        <item>Samsung</item>
        <item>Lenevo</item>
        <item>Karbon</item>
        <item>Moto</item>
        <item>Xperia</item>
        <item>Micromax</item>
        <item>Lava</item>
        <item>Xiomi</item>
    </string-array>

    <string-array name="price">
        <item>10000</item>
        <item>12000</item>
        <item>10000</item>
        <item>12000</item>
        <item>10000</item>
        <item>12000</item>
        <item>10000</item>
        <item>12000</item>
    </string-array>

三星
列涅沃
卡尔邦
摩托
Xperia
锰矿粉
熔岩
小米
10000
12000
10000
12000
10000
12000
10000
12000

您可以使用两个数组(一个用于键,一个用于值),然后将它们放入Hashmap对象中。

例如:

    String[] mobileArray = getResources().getStringArray(R.array.mobile);
    String[] priceArray = getResources().getStringArray(R.array.price);

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

    for (int i = 0; i < mobileArray.length; i++) {
        map.put(mobileArray[i], priceArray[i]);
    }
String[]mobileArray=getResources().getStringArray(R.array.mobile);
字符串[]priceArray=getResources().getStringArray(R.array.price);
Map Map=newhashmap();
对于(int i=0;i
strings.xml

<string-array name="mobile">
        <item>Samsung</item>
        <item>Lenevo</item>
        <item>Karbon</item>
        <item>Moto</item>
        <item>Xperia</item>
        <item>Micromax</item>
        <item>Lava</item>
        <item>Xiomi</item>
    </string-array>

    <string-array name="price">
        <item>10000</item>
        <item>12000</item>
        <item>10000</item>
        <item>12000</item>
        <item>10000</item>
        <item>12000</item>
        <item>10000</item>
        <item>12000</item>
    </string-array>

三星
列涅沃
卡尔邦
摩托
Xperia
锰矿粉
熔岩
小米
10000
12000
10000
12000
10000
12000
10000
12000

谢谢您的帮助,但是String yourString=yourArray[i];我需要使用一个变量,而不是一个数字,它是一个数组,不是一个映射,你只能通过索引得到项目的值,你不能访问项目名称。如果您确实需要通过名称访问您的值,那么您可以使用第二个名称数组并在运行时构建映射。我如何创建映射?因为我已经找到了另一个项目名称数组,谢谢您的帮助,但是String yourString=yoursarray[I];我需要使用一个变量,而不是一个数字,它是一个数组,不是一个映射,你只能通过索引得到项目的值,你不能访问项目名称。如果您确实需要通过名称访问您的值,那么您可以使用第二个名称数组并在运行时构建映射。我如何创建映射?因为我有另一个项目数组names@NAZXD:将其标记为答案,这样它也可以对其他人有所帮助。@NAZXD:将其标记为答案,这样它也可以对其他人有所帮助。