Android Spinner的简单用法。

今天学到的是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就是给它传递一个下拉列表的布局,也是一个文本布局控件,好像就是边距大了点吧。

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

 

posted @ 2020-05-21 23:54  羸弱的澳龙  阅读(3330)  评论(0编辑  收藏  举报