概述
Spinner就是一个弹出的下拉选择菜单或者也可以被称为列表选择框
继承关系如下:
如果在使用Spinner时已经可以确定列表选择框里的列表项,则完全不需要编写代码,只要为Spinner指定android:entries属性即可让Spinner正常工作;如果程序需要在程序运行时动态决定Spinner的列表项,或者程序需要对Spinner的列表项进行定制,则可使用Adapter提供列表项。
android:entries属性并不是Spinner定义的,而不是AbsSpinner中定义的,因此Gallery(继承了AbsSpinner)也支持该XML属性。
Spinner 监听器
一般使用setOnItemSelectedListener来监听item选中事件
setOnItemClickListener和setOnClickListener都不能用来监听Spinner,否则会出错。
setOnLongClickListener能用来监听Spinner的长按事件,只能监听Spinner被长按住,好像基本用不上。
setOnTouchListener能用来监听Spinner控件的触摸事件,注意一次快速的触摸都能触发这事件好几次。
/**Item选择监听*/
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(SpinnerDemoActivity.this, "点击了" +position, Toast.LENGTH_SHORT).show();
}
@Override