8

我有一个包含三个项目的微调器,我使用 XML 字符串数组资源来提供它。当您打开活动时,微调器通常会显示数组列表中的第一项。在选择项目之前,我想更改它并在微调器中显示文本“选择一个”。

我怎样才能做到这一点?

4

2 回答 2

10

您可以通过以下两种方式之一来做到这一点。

1)添加“选择一个”作为您的 xml 中的第一项并编码您的侦听器以忽略它作为选择。

2)创建一个自定义适配器将其作为第一行插入,

编辑

在您的资源中

<string-array name="listarray">
    <item>Select One</item>
    <item>Item One</item>
    <item>Item Two</item>
    <item>Item Three</item>
</string-array>

在您的 onItemSelected 侦听器中:

spinnername.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
    public void onNothingSelected(AdapterView<?> parent) {
    }
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        if (pos == 0) {
        }else {
            // Your code to process the selection
        }
    }
});
于 2012-06-03T02:23:01.777 回答
1

要为微调器设置默认文本,您必须为微调器使用android:prompt=@string/SelectOneSelectOne 在您的 string.xml 中定义的位置。

例子 :

<Spinner android:id="@+id/spinnerTest"  
 android:layout_marginLeft="50px"
 android:layout_width="fill_parent"                  
 android:drawSelectorOnTop="true"
 android:layout_marginTop="5dip"
 android:prompt="@string/SelectOne"
 android:layout_marginRight="30px"
 android:layout_height="35px" 
/> 
于 2012-06-03T00:58:51.053 回答