Android Studio中Spinner控件的使用方法2-1

Spinner控件的作用是可以同时显示所有子项,用户可以对显示的子项进行选择,如图1所示。

图1 Spinner控件

1 Spinner控件的创建

通过布局XML文件创建Spinner控件,代码如图2所示。

图2 通过XML创建Spinner

2 Spinner控件的使用

2.1 关联控件

在主程序中,首先创建Spinner类的对象,之后将该对象与“1 Spinner控件的创建”中创建的Spinner控件关联,代码如下所示。

图3 变量与控件关联

其中,sp1是MainActivity类的成员变量,该变量是Spinner类的对象(图3①);接下来定义MainActivity类成员函数initWidget(),在该函数中将sp1与Spinner控件关联(图3②);最后在MainActivity类的onCreate()函数中调用initWidget()(图3③)。

2.2 设置Spinner控件的子项

Spinner控件子项的数据用SpinnerAdapter来表示。SpinnerAdapter是派生自Adapter的接口,该接口是Spinner控件和其子项数据之间的桥梁。所以接下啦首先将子项数据与SpinnerAdapter关联,然后再将SpinnerAdapter与Spinner控件关联,这样就可以设置Spinner控件的子项数据了。

2.2.1 将数据与SpinnerAdapter关联

使用如图4所示的代码将数据与SpinnerAdapter关联。
 
 
图4 设置SpinnerAdapter
其中,定义了字符串数组array_colors,该数组中保存的是在Spinner控件中显示的数据(图4①),但是字符串数组不能直接用在Spinner类中,需要SpinnerAdaper作为中介,因此,图4①中又定义了SpinnerAdaper类的对象adapter。之后,在initWidget()中通过ArrayAdapter类的构造方法配置adapter对象。图4②中使用了ArrayAdapter类多种构造方法格式中的一种,
public ArrayAdapter (Context context, 
                int resource, 
                T[] objects)
其中,参数context表示上下文环境;参数resource指定了Spinner外型的布局文件名,android.R.layout.simple_spinner_item是Android Studio定义好的一个布局文件,该布局文件指定了Spinner控件的外型;参数objects表示了ArrayAdapter中的数据,array_colors是图4①中定义的字符串数组。

2.2.2 将SpinnerAdapter与Spinner控件关联

接下来,在initWidget()中,将SpinnerAdapter与Spinner控件关联,代码如图5所示。
 
 
图5 SpinnerAdapter与Spinner控件关联

其中,sp1是与Spinner控件关联的变量,通过sp1调用Spinner类的setAdapter()方法,该方法的参数即为SpinnerAdapter类型的变量。通过图5显示的代码,将SpinnerAdapter与Spinner控件关联。这样,就指定了Spinner控件中要显示的子项数据。运行程序,此时就可以显示如图1所示的效果了。

猜你喜欢

转载自blog.csdn.net/hou09tian/article/details/127588031