1.知识点
(1)掌握下拉列表Spinner的使用;
(2)可以通过程序配置Spinner显示内容;
(3)可以通过配置文件配置Spinner显示内容。
2.具体内容
在html中,下拉列表使用
对于Spinner 这个组件来说,核心的地方就是在于下拉列表内容的设置上,所有讲解的内容就是在对于下拉列表内容设置上。
在Spinner类中,setAdapter(SpinnerAdapter)方法就是设置下拉列表的选择内容,SpinnerAdapter就是一个适配器,会将所有的数据进行封装,封装之后通过此方法就可以放入到Spinner中。
方式一:直接配置资源文件:
对于Spinner来说,通过配置资源文件设置其下拉列表选项的话,需要在values下面的资源文件中定义一个xml。
- utf-8
- gbk
- gb2312
- uft-16
- iso88591
现在我们已经配置了一个资源文件,此时的问题就是要将资源文件设置到下拉列表的选项上去。可以直接在布局文件中设置。
现在效果已经出来了,当然我们也可以设置一些下拉列表的提示信息。
以上就是通过配置资源文件的形式设置下拉列表选项的。
方式二:通过android.widget.ArrayAdapter类完成列表项设置
ArrayAdapter类的功能:
·直接通过读取资源文件的定义的内容
·通过List集合设置列表项
范例一:通过读取资源文件的方式定义列表项
- 红色
- 蓝色
- 绿色
- 白色
- 黑色
现在对于我们的这个下拉列表就没有任何的列表信息,现在我们通过Activity程序进行配置,我们要知道ArrayAdapter类似于一个集合,只需要制定泛型。
public class SpinnerActivity extends Activity {private Spinner colorSpinner = null; ArrayAdapter adapter = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.spinner_activity); this.colorSpinner = (Spinner) super.findViewById(R.id.selectcolor);//取得组件 this.colorSpinner.setPromptId(R.string.color_info);//设置提示信息 //现在关键问题就是要装配一个SpinnerAdapter this.adapter = ArrayAdapter.createFromResource(this, R.array.color_, android.R.layout.simple_spinner_item); this.adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//重新设置风格 colorSpinner.setAdapter(this.adapter);//设置显示内容 }}
现在我们已经能够设置下拉列表的选项了,但是和第一种方式并没有太大的区别。
范例二:通过List集合完成配置。
package com.example.spinnerproject;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.Spinner;public class SpinnerActivity extends Activity {private Spinner colorSpinner = null;private Spinner citySpinner = null; ArrayAdapter adapterColor = null; ArrayAdapter adapterCity = null; List list = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.spinner_activity); this.colorSpinner = (Spinner) super.findViewById(R.id.selectcolor);//取得组件 this.colorSpinner.setPromptId(R.string.color_info);//设置提示信息 //现在关键问题就是要装配一个SpinnerAdapter this.adapterColor = ArrayAdapter.createFromResource(this, R.array.color_, android.R.layout.simple_spinner_item); this.adapterColor.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//重新设置风格 colorSpinner.setAdapter(this.adapterColor);//设置显示内容 //以下是通过List集合完成下拉列表选项设置 this.citySpinner = (Spinner) super.findViewById(R.id.selectcity); this.citySpinner.setPromptId(R.string.city_info); this.list = new ArrayList();//实例化集合 this.list.add("兰州"); this.list.add("北京"); this.list.add("上海"); this.list.add("深圳"); this.list.add("广州"); this.adapterCity = new ArrayAdapter(this,android.R.layout.simple_spinner_item,this.list);//装配适配器 this.adapterCity.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//重新设置风格 this.citySpinner.setAdapter( this.adapterCity );//设置下拉选项 }}
从以上的操作来看,下拉列表这个组件比我们之前学习的组件要稍微困难一些,大部分情况下,都是使用配置资源文件的形式设置下拉列表选项的。只有在特殊情况下才会使用到Activity程序进行配置。
3.小结
(1)使用Spinner可以完成下拉列表框的显示功能;
(2)下拉列表框的显示内容可以通过配置文件或程序进行填充。
来源地址:https://blog.csdn.net/weixin_41830242/article/details/131215430