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

所属分类: 软件编程 / Android 阅读数: 1201
收藏 0 赞 0 分享

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(下拉框)控件的使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

Android设计登录界面、找回密码、注册功能

这篇文章主要为大家详细介绍了Android设计登录界面的方法,Android实现找回密码、注册功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android通过手势实现答题器翻页效果

这篇文章主要为大家详细介绍了Android通过手势实现答题器翻页效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android采用双缓冲技术实现画板

这篇文章主要为大家详细介绍了Android采用双缓冲技术实现画板的相关资料,思路清晰,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android开发之毛玻璃效果实例代码

这篇文章主要给大家分享android开发之毛玻璃效果的实例代码,非常具有参考借鉴价值,感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

Android实现桌面悬浮窗、蒙板效果实例代码

这篇文章主要介绍了Android实现桌面悬浮窗、蒙板效果实例代码的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

深入解读Android的Volley库的功能结构

这篇文章主要介绍了Android的Volley开发框架的功能结构,Volley是Android开发中网络部分的一大利器,包含很多HTTP协议通信的相关操作,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发中使用Volley库发送HTTP请求的实例教程

这篇文章主要介绍了Android开发中使用Volley库发送HTTP请求的实例教程,包括创建Volley单例的基本知识与取消Request请求的技巧等,需要的朋友可以参考下
收藏 0 赞 0 分享

Android仿QQ聊天撒花特效 很真实

本文写的这个特效,是关于聊天的,你肯定遇到过,就是你跟人家聊天的时候,比如发送应(么么哒),然后屏幕上全部就是表情了,今天我们就是做这个,撒花的特效,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android的HTTP操作库Volley的基本使用教程

这篇文章主要介绍了Android的HTTP操作库Volley的基本使用教程,包括JSON请求与图片加载等用法的实例,需要的朋友可以参考下
收藏 0 赞 0 分享

Android仿水波纹流量球进度条控制器

这篇文章主要介绍了Android仿水波纹流量球进度条控制器的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多