android控件---spinner

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

原文地址:https://www.cnblogs.com/atomgame/p/3909397.html