如何在android string.xml文件中复制select(HTML)

时间:2013-06-14 13:14:33

标签: android spinner android-spinner arrays

我必须复制

<select>
  <option value="36">Volvo</option>
  <option value="45">Saab</option>
  <option value="56">Mercedes</option>
  <option value="71">Audi</option>
</select>
string.xml中的

因此,当我在Spinner中选择任何项目时,它会为我提供项目的值而不是项目的名称。 我的意思是我必须使用这个值。我尝试使用StringArray,但它没有给我选项来为项目赋值。值是静态的我想知道是否可以在string.xml中完成,而不是使用其他解决方法。

请告诉我怎么办?

2 个答案:

答案 0 :(得分:2)

您可以定义两个字符串数组,一个用于名称,另一个用于值:

<Spinner 
    android:id="@+id/spinner"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:drawSelectorOnTop="true"
    android:entries="@array/array_names"
    android:entryValues="@array/array_name_values"
/>

编辑:

忘记strings.xml

的strings.xml:

<string-array name="array_names">
    <item>Volvo</item>
    <item>Saab</item>
    <item>Mercedes</item>
    <item>Audi</item>
</string-array>

<string-array name="array_name_values">
    <item>36</item>
    <item>45</item>
    <item>56</item>
    <item>71</item>
</string-array>

答案 1 :(得分:0)

Android中的Spinners和其他类似的基于列表的元素通过适配器填充,适配器将数据(在这种情况下,数据数组或数据库查询中的游标)转换为可由View显示的表单

在这里,您想要查看ArrayAdapter;这个类是数据和微调器之间的接口。 ArrayAdapter可以从许多来源填充:在java代码中以编程方式创建的数组,或者在xml资源字符串文件中硬编码为数组的数组,如下所示:

<resources>
    <string-array name="cars_array">
        <item>Volvo</item>
        <item>Saab</item>
        <item>Mercedes</item>
        <item>Audi</item>
    </string-array>
</resources>

如果您想以这种方式使用静态数据,'item'标签没有像示例中的options标签那样的任何属性。您的选择将是以下之一:

1 - 将此数组与现有的适配器类一起使用,并将这些值以编程方式放在java代码中的某个位置。

2 - 将值放在单独的数组资源中,并根据需要创建自己的适配器类,以便同时使用它们

有关使用微调器的更多信息和更多链接,请查看here

希望这有帮助!