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. oracle 使用技巧

    1.PL/SQL Developer记住登陆密码  在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码: 设置方法:PL/SQ ...

  2. hdu1024

    #include <cstdio>#include <iostream>const int MAX = 1000005; using namespace std; int nu ...

  3. python3.4项目打包

    1.首先下载pyinstaller并且解压(就直接解压再桌面就可以,这样子比较方便) 2.然后就去下载pywin32(按照电脑和python的版本去下载) 我电脑是64位的,python是3.4版本的 ...

  4. C#的面向对象

    一.面向对象编程(OOP)是将现实中的事物抽象花,其设计的重点就是类的设计. 二.类是面向对象编程的设计核心,实际上是一种复杂的数据类型.将不同类型的数据和与这些数据就相关的操作封装在一起,就构成类. ...

  5. 苹果4S

    港版.4S.白.非翻新机.16G.联通3G移动2G电信2G 1000 美版.4S.白.翻新.16G.联通3G移动2G电信3G 980

  6. OSCache 使用

    引入OSCache的jar包 package com.sun.utils; import java.util.Date; import com.opensymphony.oscache.base.Ne ...

  7. ggplot2 scale相关设置-坐标转换

    ggplot2 scale相关设置-坐标转换 在R中坐标轴转换有多种形式,包括对数转换,平方根转换以及坐标刻度前后进行调换 用到的函数分别有: scale_x_log10(...) scale_y_l ...

  8. java.lang.SecurityException:Invalid signature file digest forManifest main attributes

    今天在公司使用ant命令来从服务器中提取一个类的时候发现一个问题,每当我执行ant命令的时候就报如下异常: 想来想去猜测是Enovia提供的包没有做数字签名,但是如何解决这个问题呢?想不到解决方案只好 ...

  9. 关于mysql中数据类型

    bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. bigint ...

  10. 关于NLog的target和Layout

    这个没啥好说的,都是用别人的东西,看文档就行了,写的很详细. https://github.com/NLog/NLog/wiki/Configuration-file https://github.c ...