Spinner是一个下拉列表控件,它的下拉选项可以通过适配器将静态的数据映射到一个item中,再将item显示到spinner控件;也可以用过配置xml来设置。本篇博客主要介绍通过适配器来设置下拉选项。
1.Spinner控件的创建
在布局文件中创建一个Spinner标签
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</Spinner>
2.数据源
通过List来存储数据源
private List<String> strDatas = new ArrayList<String>();
。。。。。。
public List<String> getStrDatas(){
strDatas.add("刘备");
strDatas.add("关羽");
strDatas.add("张飞");
strDatas.add("赵云");
strDatas.add("黄忠");
strDatas.add("马超");
return strDatas;
}
3.数组适配器(ArrayAdapter)
ArrayAdapter arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,getStrDatas());
其中,android.R.layout.simple_list_item_1是下拉列表布局文件的id
4.给控件设置适配器
spinner.setAdapter(arrayAdapter)
5.给控件添加监听事件
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String s = arrayAdapter.getItem(position);
textView.setText("我是" + s);
}
将列表中的内容显示到TextView中
运行效果:
如果你想让下拉列表的样式变得更加丰富,可以通过设置不同item布局配合SimpleAdpater来实现。