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. Vue.js 指南-基础

    Installation 可以使用的方式: script标签方式加载vue.js cdn https://unpkg.com/vue@2.0.5/dist/vue.js npm Introductio ...

  2. day23 框架之基础加强

    day23 框架之基础加强 今日任务 aptana(javascript的eclipse插件):http://www.cnblogs.com/terrylin/archive/2012/06/20/2 ...

  3. git安装后配置--config

    安装git后需要配置一下环境,每台计算机上只需要配置一次,程序升级时会保留配置信息. 你可以在任何时候再次通过运行命令来修改它们. 通过git config命令来配置环境变量,这些变量存储在三个不同的 ...

  4. WiMAX协议栈

    1.协议栈模型 协议栈模型将 WiMAX 系统分为数据控制平面和管理平面两个平面 数据控制平面对数据的正确传输进行保证,包括封装.分片.加密.解封装等 基站与用户站之间的特定信令交互完成系统的控制功能 ...

  5. CF #368 div2

    题目链接:http://codeforces.com/contest/707/problem/A A. Brain's Photos time limit per test 2 seconds mem ...

  6. AnimatorController动画遮罩

    游戏中,我们的人物在某些时候,可能在一个时间点在做两件事,这样就需要同时播放两个动画,但我们肯定不能简单将其叠加,比如移动着开枪.攻击.挥手等等,那么在Unity中我们应该怎样实现这样的功能呢?且听我 ...

  7. ResultSet 的Type属性 TYPE_FORWARD_ONLY, TYPE_SCROLL_I

    说明:Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY ...

  8. TortoiseGit - 处理冲突

    处理冲突 冲突:远程的master已经被其他人更新到 2repo add 12,但是自己当前的工作区在未pull到最新前,增加了1repo add 12的改动. 右击最新的节点,选择Merge to ...

  9. c# 对象object转换

    object app = new { name = "hyt", age = 18 }; Type t = app.GetType(); var name = t.GetType( ...

  10. 创建透明CEdit控件

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