Spinner的用法

        Android中提供的列表选择框(Spinner)相当于网页中的下拉列表框,通常用于提供一序列可选择的列表项供用户进行选择。

        Spinner的数据源提供方式常用的有两种:

        1)数组资源文件方式

        2)指定适配器方式

        现就每种方式的实现步骤详细说明如下:

一、数组资源文件方式

(1)在res\values目录下新建resources文件,命名为arrays.xml,在该文件中添加一个字符串数组,名称为bank,具体代码如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="bank">
        <item >农行</item>
        <item >工行</item>
        <item >建行</item>
        <item >中国银行</item>
    </string-array>
</resources>

(2)创建Spinner

在需要使用Spinner的layout文件中创建Spinner,本例是在activity_main.xml文件中创建,命名为spBank,设置Spinner属性entries的值为步骤(1)中创建的bank,具体代码如下:

<Spinner 
     android:id="@+id/spBank"
     android:entries="@array/bank"
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
     android:layout_marginLeft="10dp"
     android:layout_marginTop="10dp"/>

到此数组资源文件方式创建完毕,运行程序,效果如下:

 

二、指定适配器方式

(1)创建Spinner,步骤同法一中的步骤(2),唯一不同的是不设定Spinnerentries属性值,为了与法一有区别,将其命名为spBank1,并将其放在界面中的右边,具体代码如下:

<Spinner 
        android:id="@+id/spBank1"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="60dp"
        android:layout_marginTop="10dp"/>

(2)创建适配器

Android中常用的数据适配器有三种:

        1)ArrayAdapter

        2)SimpleAdapter

        3)BaseAdapter

        第一种适用于纯文本类型,后面两种适用于自定义列表项内容。由于下拉列表框用得多的就是纯文本类型,因此在此仅说明ArrayAdapter,后面两种会在ListView和GridView中说明。

创建ArrayAdapter适配器通常可以使用以下两种方法:一种是通过数组资源文件创建;另一种是通过在java文件中使用字符串数组创建。

在MainActivity.java文件的onCreate方法中创建ArrayAdapter,具体代码如下:

1)数组资源文件创建ArrayAdapter代码:

ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(this, R.array.bank, android.R.layout.simple_spinner_item);

数组资源文件的创建方法同法一中的步骤(1)。

2)字符串数组创建ArrayAdapter代码:

String[] bank=new String[]{"农行","工行","建行","中国银行"};
ArrayAdapter<String> adapter2=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, bank);

(3)给Spinner指定Adapter

MainActivity.java文件的onCreate方法中获取到Spinner控件,同时设置Adapter,具体代码如下:

Spinner spinner=(Spinner)findViewById(R.id.spBank1);
spinner.setAdapter(adapter);

到此,指定适配器方式创建完毕,运行程序,效果如下:

Demo源码链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值