【问题标题】:Use string array to populate Spinner使用字符串数组填充 Spinner
【发布时间】:2017-02-02 07:54:56
【问题描述】:

当涉及到 Android 应用程序时,我处于新秀联盟中,我希望使用数组或字符串(它是一个转换器应用程序)填充 Spinner,下面是我的 XML 文件的摘录,我希望填充微调器:

......
<string name="TemperatureString">Temperature</string>
<string name="WeightString">Weight</string>
<string name="VolumeString">Volume</string>
<string name="SpeedString">Speed</string>
<string name="LengthString">Length</string>
<string name="AreaString">Area</string>
<string name="EnergyString">Energy</string>
<string name="PresureString">Presure</string>
<string name="MemoryString">Memory</string>

<string-array name="Convert_Type">
    <item>@string/TemperatureString</item>
    <item>@string/WeightString</item>
    <item>@string/VolumeString</item>
    <item>@string/SpeedString</item>
    <item>@string/LengthString</item>
    <item>@string/AreaString</item>
    <item>@string/EnergyString</item>
    <item>@string/PresureString</item>
    <item>@string/MemoryString</item>
</string-array>

据此,我正在尝试填充我的微调器 (@+id/MainSpinner) - 我不确定我在这里做什么,但对于 activity_main.xml,我有以下内容:

    <Spinner
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/MainSpinner"
        tools:listitem="@layout/support_simple_spinner_dropdown_item"/>

我知道有一种方法可以通过 Java 做到这一点,但我在 Java 方面做得更差! 出于这个原因,如果可能的话,我想把它保存在 xml 中。

另外,如果有人可以将我指向链接以提高我的 Java 和 xml 技能,那将是很棒的 - 我已经开始使用 Udacity 并且发现它们很好,但是对于非 IT 人员来说还有很多东西需要学习毕业(我在金融工作,但发现这件事真的很有趣!)

提前致谢!

【问题讨论】:

  • Oracle 有很棒的 Java 教程。只需谷歌“Java教程”。这将是第一个命中。

标签: android xml android-layout android-studio


【解决方案1】:

在微调器标签中使用条目属性

<Spinner
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:id="@+id/MainSpinner"
    android:entries="@array/Convert_Type"
    tools:listitem="@layout/support_simple_spinner_dropdown_item"/>

【讨论】:

    【解决方案2】:

    用字符串数组绑定 ListView 和 Spinner 控件的最简单方法是

    android:entries = "@array/nameofarray"

    <Spinner
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/MainSpinner"
            tools:listitem="@layout/support_simple_spinner_dropdown_item"
            android:entries="@array/Convert_Type"/>
    

    如果你想改变 Spinner 每个项目的主题,请将下面的样式放入res/values/styles.xml

    <style name="ItemTextAppearance">
        <item name="android:textColor">#f00</item>
        <item name="android:textStyle">bold</item>
        <item name="android:typeface">monospace</item>
    </style>
    

    和集合

    android:theme="@style/ItemTextAppearance"
    

    旋转器。

    【讨论】:

    • 如何获得 Click spinner Item 的价值?
    • 使用setOnItemSelectedListenerspinner.getSelectedItem().toString()
    • 我想获得价值,而不是名字
    • 使用 ArrayList 和 ArrayAdapter。更多stackoverflow.com/a/37046661/6840733
    猜你喜欢
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 2020-12-12
    • 1970-01-01
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多