当前位置: 移动技术网 > 移动技术>移动开发>Android > Android中Spinner(下拉框)控件的使用详解

Android中Spinner(下拉框)控件的使用详解

2019年07月24日  | 移动技术网移动技术  | 我要评论

android给我们提供了一个spinner控件,这个控件主要就是一个列表,那么我们就来说说这个控件吧,这个控件在以前的也看见过,但今天还是从新介绍一遍吧。

spinner位于 android.widget包下,每次只显示用户选中的元素,当用户再次点击时,会弹出选择列表供用户选择,而选择列表中的元素同样来自适配器。spinner是view类得一个子类。

1.效果图

2.创建页面文件(main.xml)

<spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<textview
android:id="@+id/tvresult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="选择的水果" />

3.创建下拉框的数据源

list<string> list = new arraylist<string>();
list.add("苹果"); 
list.add("香蕉"); 
list.add("橘子"); 
list.add("香蕉");

4.创建适配器(下拉框的数据源是来自适配器)

arrayadapter<string> adapter=new arrayadapter<string>(this, android.r.layout.simple_spinner_item,list);

5.为适配器添加样式

adapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item);

系统提供的样式如下

simple_spinner_dropdown_item(列表-间距较高比较好看)

simple_spinner_item(列表-间距紧凑不好看)

simple_list_item_checked(复选框-选中的有绿沟)

simple_list_item_single_choice (单选按钮)

6.向控件spinner添加适配器

spinner sp=(spinner) findviewbyid(r.id.spinner1);
sp.setadapter(adapter); 

释义

1. setadapter(spinneradapter adapter) ,从类的继承关系上看,arrayadapter是spinneradapter接口的间接实现类


7.实现选择项事件(使用匿名类实现接口)

sp.setonitemselectedlistener(new onitemselectedlistener() {
// parent: 为控件spinner view:显示文字的textview position:下拉选项的位置从0开始 
public void onitemselected(adapterview<?> parent, view view, int position, long id) {
textview tvresult = (textview) findviewbyid(r.id.tvresult);
//获取spinner控件的适配器
arrayadapter<string> adapter = (arrayadapter<string>) parent.getadapter();
tvresult.settext(adapter.getitem(position));
}
//没有选中时的处理
public void onnothingselected(adapterview<?> parent) {
}
});

8.后台整体代码如下

public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.main);
list<string> list = new arraylist<string>();
list.add("苹果");
list.add("香蕉");
list.add("橘子");
list.add("香蕉");
arrayadapter<string> adapter = new arrayadapter<string>(this, android.r.layout.simple_spinner_item, list);
adapter.setdropdownviewresource(android.r.layout.simple_list_item_single_choice);
spinner sp = (spinner) findviewbyid(r.id.spinner1);
sp.setadapter(adapter);
sp.setonitemselectedlistener(new onitemselectedlistener() {
// parent: 为控件spinner view:显示文字的textview position:下拉选项的位置从0开始 
public void onitemselected(adapterview<?> parent, view view, int position, long id) {
textview tvresult = (textview) findviewbyid(r.id.tvresult);
//获取spinner控件的适配器
arrayadapter<string> adapter = (arrayadapter<string>) parent.getadapter();
tvresult.settext(adapter.getitem(position));
}
//没有选中时的处理
public void onnothingselected(adapterview<?> parent) {
}
});
}

以上所述是小编给大家介绍的android中spinner(下拉框)控件的使用详解,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网