获取数组中项的值

时间:2016-06-08 15:39:15

标签: 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="i"> 100</item>
    <item name="l"> 120</item>

</string-array>

如何使用mainactivity.java文件中的项目名称获取值(例如80)?

int index = Arrays.asList(getResources()。getStringArray(R.array.cr))。indexOf(..);我尝试了这个,但它没有工作

2 个答案:

答案 0 :(得分:1)

我认为你需要这样的东西

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

希望这是你需要的

答案 1 :(得分:1)

您可以使用两个数组(一个用于键,一个用于值),然后将它们放入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]);
    }

的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>