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)是设置展开之后下拉列表的风格。