Android微调器不会绘制所选项目

时间:2013-02-14 15:42:03

标签: android spinner

我有一个旋转器,里面有三个项目

<string-array name="menuitems">
    <item>one</item>
    <item>two</item>
    <item>three</item>
</string-array>

然后我像这样设置我的微调器

 Spinner spinner = (Spinner) findViewById(R.id.spinner1);
 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
         R.array.menuitems,  R.layout.spinnerstyle);

 adapter.setDropDownViewResource(R.layout.spinnerdropdownstyle);

 spinner.setAdapter(adapter);

微调器显示如下

两个

我的问题是这个微调器我不想显示我想要的所选项目

两个

显然,如果选择了两个,那么下拉列表中只会出现一个和三个。我确实搜索了这个,但无法找到一种方法来获得这种影响我尝试在选择时更改menuitems数组,但如果我从那里删除项目,它将不会在选择中绘制它。我认为有一种相当简单的方法来实现这种效果。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

编写一个自定义SpinnerAdapter,它会从菜单中返回不包括所选项目的项目。

答案 1 :(得分:0)

您可以尝试将xml中的提示设置为“One”,如下所示:

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

然后你应该覆盖onItemClick方法并设置变量的文本 “没有选择”。