访问字符串数组中的项目名称(Android)

时间:2014-11-21 08:53:12

标签: android xml

这是我在strings.xml中的代码:

<string-array name="day_array">
    <item name="sh">Sunday</item>
    <item name="ye">Monday</item>
    <item name="do">Tuesday</item>
    <item name="se">Wednesday</item>
    <item name="ch">Thursday</item>
</string-array>
    <string-array name="time_array">
    <item name="00">00:00</item>
    <item name="01">01:00</item>
    <item name="02">02:00</item>
    <item name="03">03:00</item>
    <item name="04">04:00</item>
    <item name="05">05:00</item>
    <item name="06">06:00</item>
    <item name="07">07:00</item> 
    <item name="08">08:00</item>
    <item name="09">09:00</item>
    <item name="10">10:00</item>
    <item name="11">11:00</item>
    <item name="12">12:00</item>
    <item name="13">13:00</item>
    <item name="14">14:00</item>
    <item name="15">15:00</item>
    <item name="16">16:00</item>
    <item name="17">17:00</item>
    <item name="18">18:00</item>
    <item name="19">19:00</item>
    <item name="20">20:00</item>
    <item name="21">21:00</item>
    <item name="22">22:00</item>
    <item name="23">23:00</item>
    <item name="24">24:00</item>
</string-array>

然后在我的布局中我有两个Spinner:

    <Spinner
        android:id="@+id/roozlist"
        android:layout_width="159dp"
        android:layout_height="wrap_content"
        android:entries="@array/day_array" />
    <Spinner
        android:id="@+id/timelist"
        android:layout_width="159dp"
        android:layout_height="wrap_content"
        android:entries="@array/time_array" />

我想做的是,如果用户选择“roozlist”中的Sunday和“timelist”中的08:00,然后他点击了一个按钮,我希望“sh08”返回,实际上他点击的每个项目的名称,我如何评估我的字符串数组中每个项目的名称属性?

2 个答案:

答案 0 :(得分:3)

您必须为选定的日期和时间相应的值增加两个字符串数组:

<string-array name="day_array">
   <item>Sunday</item>
</string-array>

<string-array name="day_array_value">
  <item>sh</item>
</string-array>

<string-array name="time_array_value">
  <item>00</item>
</string-array>

<string-array name="time_array">
  <item>00:00</item>
</string-array>

初始化值数组:

 String[] roozArrayValue = getResources().getStringArray(R.array.day_array_value);
 String[] timeArrayValue = getResources().getStringArray(R.array.time_array_value);

从值数组中获取微调器选定项的相应值:

String value = roozArrayValue[roozlist.getSelectedItemPosition()]+timeArrayValue[timelist.getSelectedItemPosition()]

检查示例:Spinner String item value get (not string name) android

答案 1 :(得分:1)

尝试这些

初始化一些变量

String[] day;
String[] time;

和你的onCreate方法

day = getResources().getStringArray(R.array.day_array);
time = getResources().getStringArray(R.array.time_array);

然后在你的onClickButton

String out = day[roozlist.getSelectedItemPosition()]+""+time[timelist.getSelectedItemPosition()];