android控件---spinner

时间:2022-01-25 13:35:16

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