安卓组件------列表选择框

Posted 爱潜水的猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓组件------列表选择框相关的知识,希望对你有一定的参考价值。

      安卓提供的列表选择框(Spinner)相当于web端用户注册时的选择下拉框,比如注册候选择省份城市等。如下图便是一个列表选择框

下拉列表的列表选择项能够通过xml文件的android:entries属性指定,或是在java代码中导入,属性android:prompt是列表项的标题。

一    列表项数据:

      实际运用当中,很多下拉列表项的数据实际是可知的,可以放在xml资源文件中。这时,开发者可以通过xml属性进行指定数据。

      除了资源文件之外,开发者还能够使用适配器适配数据源。(适配器:如果您的电脑不能接收蓝牙信号,你可以安装蓝牙适配器用来接收蓝牙信号。功能就是把不符合自己的信号或数据转化符合自己的形式)

 

二    关于监听

      用户在下拉列表进行选择以后,程序需要进行相应的相应处理,这就需要监听器。列表选择框的监听器是OnItemSelectedListener(),开发者重写OnItemSelected()方法。

三    案例操作

      1.创建一个资源文件配置的列表选择框

              1>新建工程,在布局中加入Spinner,指定属性android:entries为Data

 

              2>创建一个xml资源文件,命名array.xml,在文件中再添加一个字符串数组,名称Data

 

             3>对Spinner添加监听。监听当中有两个方法,分别是选择之后和未做选择的方法

             4>运行程序,能够看到下拉列表,而且有日志输出

 

        2.通过适配器进行数据适配

         给下拉列表指定数据适配器通常需要三个步骤:

         1.创建数据适配器,一般采用ArrayAdapter。创建通常使用两种方法:

                                                                                                 1>通过数组资源文件创建

                                                                                                 2>java代码中通过字符串数组创建

         2.设置列表下拉选择样式

         3.将适配器添加给下拉列表

具体操作如下:

1>通过资源文件创建设配器并设置下拉样式

        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Data,
                android.R.layout.simple_dropdown_item_1line);
        
        Spinner s = (Spinner)findViewById(R.id.spinner1);
        
        s.setAdapter(adapter);

 

2>通过字符串数组创建并设置下拉样式

        String [] data = new String[]{"中国","捷克","日本","南京","重庆","成都"}; 
        
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_dropdown_item_1line,data);
        
        Spinner s = (Spinner)findViewById(R.id.spinner1);
        
        s.setAdapter(adapter);

 

总结:其实说了这么多,本节Spinner下拉框的使用无非着重于下拉框数据的设置:采用xml指定数据源资源文件,或是适配器适配。适配器的定义也有两种,读取资源文件,或自行定义数组创建适配器。

        水平有限,不足之处请留言!

 

以上是关于安卓组件------列表选择框的主要内容,如果未能解决你的问题,请参考以下文章

html做网页,关于日期下拉列表框的问题

易组件——核心组件

高级控件安卓6—— Gallery

如何将 Vue 组件从列表渲染中拆分出来?

安卓界面组件-文本框

列表组件以调出 InputText 框