pinner就相当于Html中的下拉列表框,在下面的例子里我们共同学习一下spinner的使用。

属性:

属性名称

描述

android:prompt

该提示在下拉列表对话框显示时显示。(译者注:对话框的标题: 

方法


public CharSequence getPrompt()
  返回值    
当对话框弹出的时候显示的提示(获得弹出视图上的标题字)
 
public void onClick(DialogInterface dialog, int which)
当点击弹出框中的项时这个方法将被调用。
  参数
  dialog       点击弹出的对话框
  which      点击按钮(如:Button)或者点击位置
 
public Boolean performClick()
如果它被定义就调用此视图的OnClickListener(译者注:例如可以在加载时默认弹出下拉列表)。
  返回值
为True一个指定的OnClickListener被调用,为false时不被调用。
 
public void setOnItemClickListener(AdapterView.OnItemClickListener I)
    Spinner不支持item的点击事件,调用此方法将引发异常。
参数
  l        这个监听将被忽略
 
public void setPromptId(CharSequence prompt)
设置对话框弹出的时候显示的提示(译者注:设置弹出视图上的标题字)
参数
prompt     设置的提示
 
public void setPromptId(int promptId)
设置对话框弹出的时候显示的提示(译者注:设置弹出视图上的标题字)
参数
  prompted 当对话框显示是显示这个资源id所代表的提示。
范例:
 
package android.imageview; 
 
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 ImageView1Activity extends Activity { 
    /** Called when the activity is first created. */ 
    private Spinner spinner = null; 
    private ArrayAdapter<String> adapter = null; 
    private List<String> list = null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        spinner = (Spinner)findViewById(R.id.spinner); 
        spinner.setPrompt("请选择你喜欢的水果?"); 
         
        list = new ArrayList<String>(); 
        list.add("苹果"); 
        list.add("香蕉"); 
        list.add("梨"); 
        list.add("桃"); 
         
        adapter = new ArrayAdapter<String>(ImageView1Activity.this, android.R.layout.simple_dropdown_item_1line,list); 
        spinner.setAdapter(adapter); 
    } 
}

另一种方法:

package android.imageview; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 
 
public class ImageView1Activity extends Activity { 
    /** Called when the activity is first created. */ 
    private Spinner spinner1 = null; 
    private ArrayAdapter<CharSequence> adapter = null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        spinner1 = (Spinner)findViewById(R.id.spinner1); 
        spinner1.setPrompt("你要以后在哪工作?"); 
        adapter = ArrayAdapter.createFromResource(this,R.array.city,android.R.layout.simple_spinner_item); 
        spinner1.setAdapter(adapter); 
    } 

 
 
[java] view plaincopy
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
 
    <string name="hello">Hello World, ImageView1Activity!</string> 
    <string name="app_name">ImageView1</string> 
    <string-array name = "city"> 
        <item>山东</item> 
        <item>上海</item> 
        <item>北京</item> 
        <item>大连</item> 
    </string-array> 
</resources>

加载进事件:

package android.imageview; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 
import android.widget.Toast; 
 
public class ImageView1Activity extends Activity { 
    /** Called when the activity is first created. */ 
    private Spinner spinner1 = null; 
    private ArrayAdapter<CharSequence> adapter = null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        spinner1 = (Spinner)findViewById(R.id.spinner1); 
        spinner1.setPrompt("你要以后在哪工作?"); 
        adapter = ArrayAdapter.createFromResource(this,R.array.city,android.R.layout.simple_spinner_item); 
        spinner1.setAdapter(adapter); 
         
        spinner1.setOnItemSelectedListener(new OnItemSelectedListener() { 
 
            public void onItemSelected(AdapterView<?> arg0, View arg1, 
                    int arg2, long arg3) { 
                // TODO Auto-generated method stub 
 
                Toast.makeText(ImageView1Activity.this,"选择的城市是:" +spinner1.getItemAtPosition(arg2).toString(), Toast.LENGTH_LONG).show(); 
 
            } 
 
            public void onNothingSelected(AdapterView<?> arg0) { 
                // TODO Auto-generated method stub 
                 
            } 
             
        }); 
    } 
}

}

Android学习笔记之Spinner的更多相关文章

  1. Android学习笔记之Spinner下拉列表使用案例

    (1)两种方法提冲Spinner中的数据源:通过list集合,或者是通过xml文件进行配置 (2)布局代码例如以下: <RelativeLayout xmlns:android="ht ...

  2. android学习笔记六——Spinner

    注:参考http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0105/2264.html Spinner ==> Spinner ...

  3. 【转】 Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner

    目录(?)[-] GridView Spinner GridView GridView是网格状布局,如图所示.在了解ListView后,很容易了解GridView.下面是例子的XML文件. <? ...

  4. android学习笔记12——ListView、ListActivity

    ListView.ListActivity ==> ListView以垂直列表的形式显示所有列表项. 创建ListView的方式: 1.直接使用ListView创建 2.Activity继承Li ...

  5. 【转】 Pro Android学习笔记(五二):ActionBar(5):list模式

    可以在action bar中加入spinner的下来菜单,有关spinner,可以参考Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner. list的样式和 ...

  6. 【转】 Pro Android学习笔记(二二):用户界面和控制(10):自定义Adapter

    目录(?)[-] 设计Adapter的布局 代码部分 Activity的代码 MyAdapter的代码数据源和构造函数 MyAdapter的代码实现自定义的adapter MyAdapter的代码继续 ...

  7. Android 学习笔记之Volley(七)实现Json数据加载和解析...

    学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...

  8. Android学习笔记进阶之在图片上涂鸦(能清屏)

    Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...

  9. android学习笔记36——使用原始XML文件

    XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...

随机推荐

  1. push类型消息中间件-消息发布者(二)

    1.消息发布者声明 我们以spring的方式来声明一个消息发布者: <bean id="operateLogsMessageManager" class="com. ...

  2. OGG中断后,重新同步操作

    模拟一下goldengata中断后,重新同步操作: 1.关掉源端抽取进程 GGSCI (20081122-2105) 15> info all Program Status Group Lag ...

  3. hdu 3440 House Man

    差分约束系统 例如, 5 6  20 34 54 10 15  这一组测试数据 先编号,分别为1 2 3 4 5 ,然后可以写出一组表达式,两个编号之间的距离必定大于等于1的,所以i+1到i建立有向边 ...

  4. Python创建多进程,用Queue传递信息

    创建10个进程,分别计算0到1000各个区间的和,主进程汇总 __author__ = 'Administrator' # -*- coding:utf-8 -*- ''' @author:qiush ...

  5. iptables允许FTP

    在iptables里设置允许访问ftp(建立连接,数据传输) 由于ftp服务在建立连接和传输数据时,使用的时不同的端口,建立连接的端口20.21,数据传输的端口可以自定义: 修改ftp配置文件,指定用 ...

  6. JavaScript加减计算方法和显示千分位

    Math.formatFloat = function (f, digit) { var m = Math.pow(10, digit); return parseInt(f * m, 10) / m ...

  7. [ An Ac a Day ^_^ ] UVALive 2635 Housing Complexes 二分图最大匹配

    快要比赛了 看看原来做过的题 感觉这道题当时做的还是挺费劲的 所以发一下 题意: 一个土豪要建别墅 因为有的地区地方不够大 所以要拆屋子 每个地方的字母就是对应开发商的地盘 没有字母的就是自由土地 一 ...

  8. DigitalOcean VPS简介

    DigitalOcean是一家位于美国的云主机服务商,总部位于美国纽约,成立于2012年.由于价格低廉,高性能配置.灵活布置的优势,近些年来发展迅猛,成为中国站长圈们喜爱的品牌.(访问http://w ...

  9. 创建透明CEdit控件

    1.在资源编辑器中将Edit控件的Border设为none(当然也可以在代码中修改窗口样式) 2.在重载CEdit的类中响应MSG_OCM_CTLCOLOREDIT消息,在处理函数中将背景模式设为透明 ...

  10. 五笔拼音反查精灵 v6.69 绿色版

    软件名称:五笔拼音反查精灵 v6.69 绿色版软件语言: 简体中文授权方式: 免费软件应用平台: Win7 / Vista / Win2003 / WinXP / Win2008 软件大小: 197K ...