今天 ,看的和学的都不多,就弄了一个spinner控件而已,下面就记录一下spinner 用法吧

基本上说,使用spinner 有三个步骤

一、在布局文件里面设置spinner 控件,这个不用再多说了;

二、创建一个adapt(适配器),用于存储里面的列表项,我个人觉得这个是使用spinner比较麻烦,比较难弄的地方,可能因为我是刚开始学android吧

我用的是列表adapt  这个属于动态列表框,以便后面可以随意添加项目

List<String> list=new ArrayList<String>();//声明List
        list.add("第一个");//这些是向List里面添加列表项目
        list.add("第二个");
        list.add("第三个");

//第一个参数,不用说了吧,代表上下文对象

//第二个参数,代表第个条目所使用的布局文件

//第三个参数,代表要将条目名称放在哪个控件上(TextView)因为R.layout.activity3中可能含有多个TextView控件

//第四个参数,即要填充的项目
        ArrayAdapter adapter=new ArrayAdapter(this,R.layout.activity3,R.id.thefirst,list);

以上方法可以动态的添加spinner里面的项目,也有静态的,即事先定义好了,不能再改了的,下面我将这种方法记录下来

首先,在strings.xml里面定义数组

<string-array name="diyige">
        <item>第一个</item>
        <item >第二个</item>
        <item >第三个</item>
        <item >第四个</item>
              </string-array>

然后设置arrayadapt

//第一个参数:上下文对象
        //第二个参数:引用strings.xml里面的字符串数组
        //第三个参数:用来指定spinner 样式 ,也可以使用自己的布局文件
        ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(this,R.array.diyige, android.R.layout.simple_spinner_item);
        //设置spinner 里面的条目的样式,当然 同样的,也可以使用自己的而已文件
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

三、将spinner与adapt绑定(注  spinner要在前面事先定义好)

spinner.setAdapter(adapter);
        spinner.setPrompt("名称");

下面说下spinner 的主要触发事件吧

spinner 的触发事件主要是选 定某个项目时触 发的,直接 上代码,相信很容易弄明白 的

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override

//long arg3  表示控件Id

//int arg2  表示控件的位置

//view arg1表示被选中的对象

//arg0 表示整个列表

public void onItemSelected(AdapterView<?> arg0, View arg1,      int arg2, long arg3) {

// TODO Auto-generated method stub

String select =arg0.getItemAtPosition(arg2).toString();   //获取条目名称

//这里写程序

}

@Override

public void onNothingSelected(AdapterView<?> arg0)

{     // TODO Auto-generated method stub

//如果 没有选 中时发生的事件

}   });

上面是直接写代码,也可以先创建个有OnItemSelectedListener()  监听器

再将监听器绑定到spinner

spinner.setOnItemSelectedListener(new 监听器名);

以 上,就是我今天 所学,因为是刚刚开始 学,所以有些地方说错了,或者 不到位,请网友多多见谅,也请指出,以便改正,互相学习!!!

三、spinner的更多相关文章

  1. 第三课 Spinner的使用

    Spinner的表现形式相当于C#的ComboBox,样子如下图: 但选择项的添加方式相当不一样,必须使用数据适配器,上例子. Layout--Main.axml <?xml version=& ...

  2. UI组件之AdapterView及其子类(三)Spinner控件具体解释

    Spinner提供了从一个数据集合中高速选择一项值的办法. 默认情况下Spinner显示的是当前选择的值.点击Spinner会弹出一个包括全部可选值的dropdown菜单或者一个dialog对话框,从 ...

  3. Android应用项目中BaseAdapter、SimpleAdapter和ArrayAdapter中的三种适配器

    一.写在前面: 本次我们来讲解一下Android应用中三个适配器:BaseAdapter.SimpleAdapter和ArrayAdapter.其中常见的是BaseAdapter,也是个人推荐使用的适 ...

  4. C#进阶系列——一步一步封装自己的HtmlHelper组件:BootstrapHelper(三:附源码)

    前言:之前的两篇封装了一些基础的表单组件,这篇继续来封装几个基于bootstrap的其他组件.和上篇不同的是,这篇的有几个组件需要某些js文件的支持. 本文原创地址:http://www.cnblog ...

  5. Spinner控件

    首先在XML文件中声明一个Spinner控件: <Spinner android:id="@+id/spinnerId" android:layout_width=" ...

  6. 转载java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.spinner/com.example.spinner.MainActivity}: java.lang.NullPointerException

    今天学习Android开发突然遇到了这个问题,查阅了很多资料,并且对集中原因进行了分析. 错误信息字符串:java.lang.RuntimeException: Unable to start act ...

  7. 三、jQuery--jQuery基础--jQuery基础课程--第10章 jQuery UI型插件

    1.拖曳插件——draggable 拖曳插件draggable的功能是拖动被绑定的元素,当这个jQuery UI插件与元素绑定后,可以通过调用draggable()方法,实现各种拖曳元素的效果,调用格 ...

  8. Spinner的简单学习

    代码分析: package com.mecury.spinnertest; import java.util.ArrayList; import android.support.v7.app.Acti ...

  9. android 之 spinner的简单使用

    先看spinner的效果图: 代码: MainActivity package com.mecury.spinnertest; import java.util.ArrayList; import a ...

随机推荐

  1. 【Eclipse】在Eclipse工具中自定义类注释

    直接上图:这个公司基本都已经定制好了,自己写demo的时候可以适当定制自己的注释 package com.zlg.controller; zlg  : 此处输入zlg(对应模版的名称) 然后ALT+/ ...

  2. webrtc开源项目音频重采样“不友好接口”的几点总结

    WebRTC(Web Real Time Communication)并不是Google原来自己的技术,在2010年,Google以大约6820万美元收购了VoIP软件 开发商Global IP So ...

  3. SharePoint2010母版页想要的定制

    查找<div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle"用style="disp ...

  4. hdu1520

    基本的树形dp #include <cstring> #include <cstdio> #include <vector> using namespace std ...

  5. ACM/ICPC 之 昂贵的聘礼-最短路解法(POJ1062)

    //转移为最短路问题,枚举必经每一个不小于酋长等级的人的最短路 //Time:16Ms Memory:208K #include<iostream> #include<cstring ...

  6. Angular中使用Rainbow

    在使用js类库和框架的时候,大家都习惯于编写自己的使用示例,如果能将示例中的html,js和css 进行展示, 并进行高亮显示,效果会很棒,例如在html高亮显示jquery代码 上面的示例是使用ra ...

  7. 【leetcode】Reverse Linked List(easy)

    Reverse a singly linked list. 思路:没啥好说的.秒... ListNode* reverseList(ListNode* head) { ListNode * rList ...

  8. 【leetcode】Minimum Window Substring (hard) ★

    Given a string S and a string T, find the minimum window in S which will contain all the characters ...

  9. [Python] dir() 与 __dict__,__slots__ 的区别

    首先需要知道的是,dir() 是 Python 提供的一个 API 函数,dir() 函数会自动寻找一个对象的所有属性,包括搜索 __dict__ 中列出的属性. 不是所有的对象都有 __dict__ ...

  10. Oracle数据库对象题库

    一.    填空题 在用 create 语句创建基本表时,最初只是一个空的框架,用户可以使用insert命令把数据插入表中. 在基本表不需要时,可以使用 drop table 语句撤消.在一个基本表撤 ...