使用字符串数组填充Spinner

时间:2016-09-24 15:24:52

标签: android xml android-layout android-studio

我在新手联盟中谈到Android应用程序,并且我希望在下面填充一个带有数组或字符串的旋转器(它是一个转换器应用程序),这是我的XML文件中提取的一个&#&# 39;我希望填充Spinner:

......
<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毕业生(我在金融领域工作,但发现这件事真的很有趣!)

提前致谢!

2 个答案:

答案 0 :(得分:7)

使用String Array绑定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"
旋转器

答案 1 :(得分:1)

使用微调器标记中的entries属性

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