zoukankan      html  css  js  c++  java
  • 安卓组件------列表选择框

          安卓提供的列表选择框(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指定数据源资源文件,或是适配器适配。适配器的定义也有两种,读取资源文件,或自行定义数组创建适配器。

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

  • 相关阅读:
    求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
    getchar函数
    计算机网络04-ip与子网划分
    计算机网络03-传输层、可靠数据传输、UDP与TCP
    计算机网络02-应用层(http、email、dns)
    游戏-图形学学习路线
    markDown 入门
    webpack 入门级 傻瓜式教学
    npm 切换 cnpm 切换淘宝镜像源
    vue 父组件在接收子组件的同时传递一个当前的数据
  • 原文地址:https://www.cnblogs.com/divingpig/p/6459481.html
Copyright © 2011-2022 走看看