今天学到的是spinner,就是下拉列表,这可不是ExpandListView哈。

闲话不解释。这是控件,所以先上布局:就不上线性布局了,基本上可以总结出,控件都得在布局里写,写之前嵌个布局就行。

<Spinner

    android:layout_height="wrap_content"

    android:layout_width="match_parent"

    android:entries="@array/spinner_arr"     这边介绍下,这是下拉列表的各个列表的数据,这是给第二个简单的列表写法用的,我们现在讲的是自己写自己的列表数据

    android:prompt="@string/spinner_prompt"   这个是下拉列表的标题,不能在这直接写字符串,得到Values里的string里写好,再调用

    android:spinnerMode="dialog"   有两种方式,dialog和dropdown,一个是对话框,一个是下拉框。

    android:id="@+id/sp1"/>

这个是在Values里头创建的一个array:

<?xml version="1.0" encoding="UTF-8"?>

-<resources>

-<string-array name="spinner_arr">

<item>星期一</item>

<item>星期二</item>

<item>星期三</item>

<item>星期四</item>

<item>星期五</item>

<item>星期六</item>

<item>星期日</item>

</string-array>

</resources>

然后这边就先在drawable里创建几张图片

再搞个布局来给下拉列表里的列表

这边和ExpandListView差不多,我们得写个适配器,

会不会奇怪,为啥List有个Person。其实就是自己写个封装的类

这边就是创了两个变量,一个是图片id,一个是文本。

然后就是主活动里添加适配器,前面的学习自己写适配器已经游刃有余。

其实下拉列表有三个监听,但是听学长说,只有这个才真的有用,其他两个没太大意义。

这边里面的东西应该都好懂,先连接适配器,然后创建setOnItemSelectedListener,在里头写好监听方法,然后new一个Person对象,position还是简单吧?

这就是所选的下标,我们就是直接把列表点击的位置的信息存下,因为list本就是存person类型的。

再把信息提示出来。

图片和对应的文字都是布局里的,在适配器getView里面已经调用布局了。

这是比较成熟的方法吧,前面还讲过两个简单列表的写法:

private String[] arr;

还记得布局里的entries吧,它就是给列表输入信息的,我们当时是直接调用values里自己创建的array,,有点像数据库的调用,就是写好数据,再调用,这样局限性比较大。写法比较简单吧。


arr = getResources().getStringArray(R.array.spinner_arr);就是获取资源,获取字符串数组,在哪?在array里的spinner_arr.

就这么简单。

下面这种也是用适配器,但是我们不自定义适配器,而是使用现有的

其实我对这个适配器一点都不了解,网上百度了好久,也是一点不了解,那些人的思想我不懂,比较难受。

反正简单用法就这样,,个人理解就是,

创建时的三个参数。第一个上下文是本身,那个很长的布局路径其实就是一个文本的布局,但是大费周章的这样,咱也不懂,后面的就是添加一个列表进去。

下面调用的那个冗长的setDropDownViewResource就是给它传递一个下拉列表的布局,也是一个文本布局控件,好像就是边距大了点吧。

最后用下拉列表连接适配器。

Android Spinner的简单用法。的更多相关文章

  1. android Spinner的简单用法

    上代码: spinner = (Spinner) findViewById(R.id.spinner); tv = (TextView) findViewById(R.id.tv); final Ar ...

  2. Android—— ListView 的简单用法及定制ListView界面

    一.ListView的简单用法 2. 训练目标 1) 掌握 ListView 控件的使用 2) 掌握 Adapter 桥梁的作用 实现步骤: 1)首先新建一个项目, 并让ADT 自动帮我们创建好活动. ...

  3. android:ListView 的简单用法

    首 先新 建 一个 ListViewTest 项 目, 并 让 ADT 自 动帮 我 们创 建 好 活动 . 然后 修 改 activity_main.xml 中的代码,如下所示: <Linea ...

  4. android datepicker timepicker简单用法

    1.效果图 2. xml布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  5. 【android】Socket简单用法

    Socket通常也称做”套接字“,用于描述IP地址和端口,废话不多说,它就是网络通信过程中端点的抽象表示.值得一提的是,Java在包java.net中提供了两个类Socket和ServerSocket ...

  6. android#ListView的简单用法

    新建项目,并修改项目生产的主文件activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/ap ...

  7. android的ListAdapter简单用法

    ListAdapter是一个整个Activity有且仅有一个ListView控件的Activity 使用步骤:1. 创建MyListViewAdapter(类名可以自定义) extends ListA ...

  8. Android MultiType第三方库的基本使用和案例+DiffUtil的简单用法

    1.MultiType简单介绍 1.1.MultiType用于比较复杂的页面. 如下图,今日头条用到了MultiType处理各种复杂的页面.    这种还是比较简单的类型.因为一个页面也就这种类型. ...

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

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

随机推荐

  1. Django框架06 /orm多表操作

    Django框架06 /orm多表操作 目录 Django框架06 /orm多表操作 1. admin相关操作 2. 创建模型 3. 增加 4. 删除 5. 修改 6. 基于对象的跨表查询 7. 基于 ...

  2. 万字长文,62道Java核心面试题,一次性打包送给积极向上的你

    先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员.本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...

  3. python3将字符串unicode转换为中文

    在我们的python使用过程中,可能会遇到这样的情况: 我们得到的中文数据是unicode编码类型的,这在python中是没有问题的,可以直接打印显示为中文. 但是,如果我们需要和其它语言或前端进行交 ...

  4. day3 python数据类型转换及变量的缓存机制

    类型转换 1,强制类型转换 1.1 number的转换(int,float,bool,complex) num1 = 10 num2 = 10.6 num3 = True num4 = 3 + 4j ...

  5. CentOS7 源码编译安装Nginx

    源码编译安装nginx     1.下载nginx源码包(这里以nginx-1.18.0为例) wget http://nginx.org/download/nginx-1.18.0.tar.gz 2 ...

  6. Ethical Hacking - GAINING ACCESS(5)

    Server Side Attack Install Metasploit cummunity/pro and active it. Create a new project for the targ ...

  7. Python Ethical Hacking - Malware Packaging(3)

    Convert Python Programs to OS X Executables https://files.pythonhosted.org/packages/4a/08/6ca123073a ...

  8. Springboot整合SpringSecurity--对静态文件进行权限管理

    文章目录 一.要求 二.依赖管理 三.配置config文件 四.扩展 一.要求 index.html 可以被所有用户访问 1.html只能被VIP1访问 2.html只能被VIP2访问 3.html只 ...

  9. JavaScript数组在指定某个元素前或后添加元素

    //原数组 var s = [['g','g'],['h','h'],['i','i']]; //要添加的元素 var s1 = ['a','b','c']; //要添加的元素 var s2 = [' ...

  10. MySQL数据库---数据库备份、视图、触发器、事物、存储过程、函数和索引

    备份 方法: 使用mysqldump实现逻辑备份 语法: mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql 单库备份: mysqldump -uroot - ...