Spinner下拉框实验

原创:   灵思致远  4天前

1. 实验内容简介

Spinner同RadioGroup一样,多个子元素组合成一个Spinner。多个子元素之间相互影响,最多只能有一个被选中。Spinner通过数组适配器读取定义的子元素。这种设计方式被称为适配器模式,适配器模式建议定义一个包装类,包装有不兼容接口的对象。

适配器:在安卓中,顾名思义就是把数据变成符合界面风格的形式,并且通过ListView显示出来。也就是说适配器是数据和界面之间的桥梁。

适配器在数据库中的数据(后台)和显示页面(前端)中充当一个转换器的角色,数据库中的数据(如数组,链表,数据库,集合等)通过适配器变成类手机页面能够正常显示的数据。可以看作是界面数据绑定的一种理解。假设把数据、适配器和ListView(页面)比喻成一个MVC模式的话,那么适配器(Adapter)在这中间就充当了Controller的角色。  

使用步骤:

步骤1:声明Spinner变量

步骤2:通过FindViewById绑定,设置数据源和适配器

步骤3:监听用户输入动作

 

2. UI界面布局

Spinner下拉框实验_第1张图片


对应的大纲:

新建XML文件设置数据源,在 res文件夹下的 values 文件夹下新建一 xml文件,命名为 array.xml 。打开并添加如下代码: 。

   

        苹果

        梨子

        西瓜

        桔子

   

 

3. 代码编写和调试

public class MainActivity extends Activity {

    Spinner spinner1;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        spinner1 =(Spinner) findViewById(R.id.spinner1);

        // 新建数组适配器并关联XML的array数据

        ArrayAdapteradapter = ArrayAdapter.createFromResource(

                this,R.array.fruits, android.R.layout.simple_spinner_item);

        // 设置数组适配器显示样式

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // 下拉列表关联适配器

        spinner1.setAdapter(adapter);

        // 监听下拉列表

        spinner1.setOnItemSelectedListener(newOnItemSelectedListener() {

            @Override

            public void onItemSelected(AdapterView parent, View view,

                   intposition, long id) {

                Toast.makeText(

                       MainActivity.this,

                       "选择的水果:"

                              +parent.getItemAtPosition(position).toString(),

                       Toast.LENGTH_SHORT).show();

            }

            @Override

            public void onNothingSelected(AdapterView parent) {

                Toast.makeText(MainActivity.this,"没有选择", Toast.LENGTH_SHORT)

                       .show();

            }

        });

    }

}


Spinner下拉框实验_第2张图片

你可能感兴趣的:(Android界面和组件,Android新手入门)