spinner下拉列表框的列表项有两种配置方式:
1.通过资源文件配置,通过在values种的xml,比如strings.xml中使用<string-array>元素添加制定列表项内容,然后通过android:entries=”@array/xxid”的方式进行链接。
2.通过android.widget.ArrayAdapter类读取资源文件或者指定具体设置数据。
一:资源文件配置方式。
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">adTest</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> <string-array name="mycity"> <item >北京</item> <item >重庆</item> <item >上海</item> </string-array> </resources>
通过spinner种的android:entries="@array/mycity"进行配置链接。
二.通过ArrayAdapter类进行配置。
(1)读取资源文件中定义的列表项
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.mycity, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);
(2)读取制定数据
ArrayList<CharSequence> list = new ArrayList<CharSequence>(); list.add("北京"); list.add("重庆"); list.add("上海"); list.add("天津"); Spinner spinner = (Spinner)findViewById(R.id.spinner1); ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this, android.R.layout.simple_spinner_dropdown_item, list); adapter.setDropDownViewResource(android.R.layout.simple_spinner_item); spinner.setAdapter(adapter);
或者
String[] items = {"北京", "上海", "重庆", "天津"};
Spinner spinner = (Spinner)findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this, android.R.layout.simple_spinner_dropdown_item, items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
spinner.setAdapter(adapter);
其中的CharSequence是String的父类接口,
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this, android.R.layout.simple_spinner_dropdown_item, items)中的android.R.layout.simple_spinner_dropdown_item是制定列表框未展开时的风格;而adapter.setDropDownViewResource(android.R.layout.simple_spinner_item)是设置展开之后下拉列表的风格。