【问题标题】:How can I replicate select (HTML) in android string.xml file [duplicate]如何在 android string.xml 文件中复制选择(HTML)[重复]
【发布时间】:2013-06-14 13:14:32
【问题描述】:

我必须复制

<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,但它没有让我选择赋予物品价值。 A 这些值是静态的,我想知道这是否可以在 string.xml 中完成,而不是使用其他解决方法。

请告诉我如何继续。

【问题讨论】:

标签: android spinner android-spinner arrays


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    android 中的 Spinner 和其他类似的基于列表的元素是通过适配器填充的,这些适配器将数据(在本例中为数据数组或来自数​​据库查询的光标)转换为可由视图显示的表单.

    在这里,您要查看 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

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-10
      • 1970-01-01
      • 2015-04-16
      • 2011-01-19
      • 1970-01-01
      相关资源
      最近更新 更多