Spinner是一个列表选择框,会在用户选择后,展示一个列表供用户进行选择。Spinner是ViewGroup的间接子类,它和其他的Android控件一样,数据需要使用Adapter进行封装
效果案例:
属性:spinnerMode=”dropdown“ 或 “dialog“ //设置样式
Prompt:设置标题,在dialog下生效
popupBackground:
entries:资源配置数据源
事件:onItemSelectedListener
getItemAtPosition
数据绑定: XML(死板不灵活)或Adapter接口
- XML方式 string.xml
<resources>
<string-array name="citys">
<item>北京</item>
<item>上海</item>
<item>广州</item>
</string-array>
</resources>
- 适配器类型
- BaseAdapter(自定义适配器)
- ArrayAdapter:用于存放简单的数据
作用:
用法1:构造方法创建
三个参数说明:一.上下文(此控件运行在哪里) 二.布局文件 三.数据源List类型
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
SpinnerBaseActivity.this, android.R.layout.simple_spinner_item,数据);
spinner.setAdapter(adapter);
用法2:createFromResource()
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(NinthActivity.this,R.array.citys,android.R.layout.simple_spinner_item);
spinner.setAdapter(adapter);
- Simpledapter():可以显示稍复杂的数据
SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
属性:
context:上下文对象,没什么好说的,一般就是当前的Activity。
data:上面介绍的List<Map<S,T>>类型的数据。
resource:XML资源的Id,通过R对象选中。
from:一个String类型数组,每条数据对应data数据中,Map结构定义的Key。
to:一个int类型数组,对应XML资源中控件的ID,注意顺序必须与from中指定数据的顺序一致。
示例:
效果:
上下级联动案例:
- AutoCompleteTextView 父类 EditText
事件:addTextChangedListener