之前博客中已经介绍了Spinner控件的数据绑定,地址在:http://blog.csdn.net/zdw_wym/article/details/50000357,本篇将介绍Spinner的事件监听器:OnItemSelectedListener 。
Spinner组件的主要功能是用于进行下拉列表的显示,当用户选中下拉列表中的某个选项后可以使用Spinner类提供的setOnItemSelectedListener()方法进行监听。
在这之前让我们首先了解一下OnItemSelectedListener接口:
一、结构
public static interface AdapterView.OnItemSelectedListener
二、概述
定义了当选中视图中的项目时调用的回调函数的接口。
三、公共方法
public abstract void onItemSelected (AdapterView<?> parent, View view, int position, long id)
当选中视图中的项目时执行的回调函数。 实现时如果需要访问与选中条目关联的数据,可以调 用 getItemAtPosition(position)。
参数
parent 发生选中事件的 AbsListView。
view AbsListView 中被选中的视图。
position 视图在一览中的位置(索引)。
id 被点击条目的行 ID。
public abstract void onNothingSelected (AdapterView<?> parent)
当视图中的处于选中状态的条目全部消失时执行的回调函数。 启动触控功能或适配器为空都可能导致选中条目消失。
参数
parent 没有任何选中条目的 AdapterView。
匿名内部类方式为Spinner设置OnItemSelectedListener监听事件,代码如下:
eduSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { //获取到Spinner下列选项值 String val = eduSpinner.getItemAtPosition(position).toString(); Toast.makeText(getApplicationContext(), val, Toast.LENGTH_LONG).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { } });
示例效果如下图所示: