如何从strings.xml中的字符串数组中获取字符串值

时间:2018-01-01 13:34:16

标签: java android xml

我有一个带有一些字符串数组的微调器,它们有一些值=电子邮件,我需要在微调器中选择特定项(字符串数组)时获取电子邮件(值),但我得到的只是一个字符串(名称) /字符串数组中的标题),我只需要它如何在字符串数组中获取字符串的值。 string-array的代码看起来像那样

<string-array name="choose_array"> 
 <item>Choose</item>
 <item value = "something@mail.com">somethingName</item>
 <item value = "something@mail.com">somethingName</item>
 </string-array>

我需要获取所选字符串的值(电子邮件)才能使用它但我不知道如何使用它。 我尝试了一些方法来获取它,但我得到的只是字符串(代码中的somethingName)

2 个答案:

答案 0 :(得分:0)

   <string-array name="progress_array">
        <item>Not Done</item>
        <item>Done</item>
        <item>On Hold</item>
        <item>In Progress</item>

    </string-array>

并且微调器的代码是

 spinner = (Spinner) findViewById(R.id.selection);
            // Create an ArrayAdapter using the string array and a default spinner layout
            ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                    R.array.progress_array, android.R.layout.simple_spinner_item);
            // Specify the layout to use when the list of choices appears
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            // Apply the adapter to the spinner
            spinner.setAdapter(adapter);
}

  public boolean doTask(){
     String spinnerValue = (String)spinner.getSelectedItem();
            if(spinnerValue.equals("Done")){
                spinnerInd = 1;

            }else if(spinnerValue.equals("Not Done")){
                spinnerInd = 0;
            }else if(spinnerValue.equals("On Hold")){
                spinnerInd = 2;
            }else if(spinnerValue.equals("In Progress")){
                spinnerInd = 3;
            }

}

答案 1 :(得分:0)

的strings.xml

<string-array name="your_array_string">  
<item>Item1</item>
<item>Item2</item>
</string-array>

转换为字符串数组setOnItemSelectedListener,您可以获得值

 String[] your_array = getResources().getStringArray(R.array.your_array_string);

    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
               String selectedValue=your_array[position];
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> parentView) {
            // Your code here
        }
    });