Spinner是什么呢,其实就是我们常见的下拉框,比如:

首先,我们要创建一个Spinner,才能在Spinner中添加我们想要的元素,在xml文件中:

  1. <Spinner
  2. android:id="@+id/Spinner"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content">
  5. </Spinner>
  6.  
  7. <!--事件响应时展示的图片 !-->
  8. <ImageButton
  9. android:id="@+id/turtleImg"
  10. android:layout_width="match_parent"
  11. android:layout_height="match_parent"
  12. android:scaleType="centerCrop"
  13. android:src="@drawable/mike"/>

接着,我们要写我们的java程序了, 主要是onCreate()方法:

  1. protected void onCreate(Bundle savedInstanceState) {
  2. super.onCreate(savedInstanceState);
  3. setContentView(R.layout.activity_main);
  4. List<String> turtleList = new ArrayList<>();
  5. turtleList.add("Don");
  6. turtleList.add("Mike");
  7. turtleList.add("Leo");
  8. turtleList.add("Raph");
  9. Spinner spinner = findViewById(R.id.Spinner);
  10. // 为下拉列表定义一个适配器,使用到上面定义的turtleList
  11. ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, turtleList);
  12. // 为适配器设置下拉列表下拉时的菜单样式,有好几种样式,请根据喜好选择
  13. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  14. // 将适配器添加到下拉列表上
  15. spinner.setAdapter(adapter);
  16. // 为下拉框设置事件的响应
  17. spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  18. /**
  19. *
  20. * @param adapterView
  21. * @param view 显示的布局
  22. * @param i 在布局显示的位置id
  23. * @param l 将要显示的数据
  24. */
  25. @Override
  26. public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
  27. ArrayAdapter<String> adapter = (ArrayAdapter<String>) adapterView.getAdapter();
  28. ImageButton turtleImaBtn = findViewById(R.id.turtleImg);
  29. if(adapter.getItem(i).equals("Don")){
  30. turtleImaBtn.setImageResource(R.drawable.don);
  31. }
  32. else if(adapter.getItem(i).equals("Mike")){
  33. turtleImaBtn.setImageResource(R.drawable.mike);
  34. }
  35. else if(adapter.getItem(i).equals("Leo")){
  36. turtleImaBtn.setImageResource(R.drawable.leo);
  37. }
  38. else if(adapter.getItem(i).equals("Raph")){
  39. turtleImaBtn.setImageResource(R.drawable.raph);
  40. }
  41. }
  42.  
  43. @Override
  44. public void onNothingSelected(AdapterView<?> adapterView) {
  45.  
  46. }
  47. });
  48.  
  49. }

最后我们运行结果,如图所示:

Android Spinner组件的使用方法的更多相关文章

  1. Xamarin android spinner的使用方法

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  2. android中使用spinner组件,以key,value的方式

    接着上一篇文章的内容:android中使用spinner组件 稍做修改,以key,value的方式,在实际使用中,经常需要获取的值并不一定跟显示的内容一致. 需要先添加一个对象类,用来描述key,va ...

  3. android中使用spinner组件

    spinner组件类似于html中的select标签,实现下拉选择框的功能. 添加一个Activity,界面上添加一个spinner下拉框,一个button按钮.点击按钮,获取spinner下拉框当前 ...

  4. android基础组件---->Spinner的使用

    Spinner提供了一个快速的方式从集合中选择值.在默认状态下,一个Spinner显示的是当前选择的值.触摸Spinner会显示一个下拉菜单,用户可以从中选择一个值.今天我们就开始Spinner的学习 ...

  5. Android Spinner使用简介

    Android中使用Spinner作为下拉列表,下面直接看实现方式: (1)使用ArrayAdapter来实现: 实现步骤: 1. 在布局文件中定义Spinner组件: 2. 向Spinner添加需要 ...

  6. 所谓 Spinner 组件

    Spinner组件在平常的开发过程中应该算是比较常用的隶属于Input Control的android控件了,所以我们很有必要掌握这一个知识点,下面我就来谈一谈我对这个组件的一些认识. 是什么? 下拉 ...

  7. Android Spinner 下拉框简单应用 详细注解

    目录 Android Spinner 代码部分 Spinner代码介绍 核心代码 说在最后 @ Android Spinner Spinner 提供下拉列表式的输入方式,该方法可以有效节省手机屏幕上的 ...

  8. Android四大组件之一“广播”

    前言 Android四大组件重要性已经不言而喻了,今天谈谈的是Android中的广播机制.在我们上学的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦有什么重要的通知,就 ...

  9. Android 四大组件 与 MVC 架构模式

    作为一个刚从JAVA转过来的Android程序员总会思考android MVC是什么样的? 首先,我们必须得说Android追寻着MVC架构,那就得先说一下MVC是个啥东西! 总体而来说MVC不能说是 ...

随机推荐

  1. Redis集群维护、运营的相关命令与工具介绍

    Redis集群的搭建.维护.运营的相关命令与工具介绍 一.概述 此教程主要介绍redis集群的搭建(Linux),集群命令的使用,redis-trib.rb工具的使用,此工具是ruby语言写的,用于集 ...

  2. Visual Studio 更改护眼颜色

  3. ubuntu常见错误

    ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决 ubuntu常见错误--Could not get lock /var/lib/dpkg/loc ...

  4. Python爬虫实战:爬糗事百科的段子

    一个偶然的机会接触了Python,感觉很好用,但是一直在看c++啥的,也没系统学习.用过之后也荒废了许久.之前想建个公众号自动爬糗事百科的段子,但是没能建起来,真是尴尬,代码上传的服务器上之后,不能正 ...

  5. Android(java)学习笔记76:Handler用法总结 和 秒表案例

    一.Handler的定义: Handler主要接收子线程发送的数据, 并用此数据配合主线程更新UI,用来跟UI主线程交互用.比如可以用handler发送一个message,然后在handler的线程中 ...

  6. CDQ分治入门

    前言 \(CDQ\)分治是一个神奇的算法. 它有着广泛的用途,甚至在某些题目中还能取代\(KD-Tree\).树套树等恶心的数据结构成为正解,而且常数还小得多. 不过它也有一定的缺点,如必须离线操作, ...

  7. object-detection-crowdai数据处理

    import os file=os.listdir('/home/xingyuzhou/object-detection-crowdai') file.sort(key= lambda x:int(x ...

  8. 如何更改VirtualBox虚拟电脑内存大小

  9. JavaScript中的confirm的用法

    confirm()方法用于显示一个带有指定消息和ok以及取消按钮的对话框confirm(message,ok,cancel); message:表示在弹出框的对话框中现实的文本信息如果用户点击确定按钮 ...

  10. Access数据库远程连接的实用方法

    一般在远程文件夹开启文件共享即可通过像平常一样用连接字符串访问,注意共享的读写权限. 远程(如通过互联网)连接access数据库的示例: 首先,需要使用TCP/IP,ADO及XML(需要安装Micro ...