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

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

  • 相关阅读:
    java xmlwriter 生成 xml 文件多了一行
    java使用配置skywalking
    windows配置skywalking集群
    springboot中配置skywalking请求日志
    java jar Xbootclasspath/a:/xxx/config xxx .jar 和 java jar xxx .jar 的区别
    java Thread.sleep(0) 有什么用
    Composer导入七牛云SDK
    tp5查询服务器是否存在文件,不存在则删除
    composer报错The "xxx.json" file could not be downloaded (HTTP/1.1 404 Not Found)
    Git遇到error: Unable to create 'E:/zyw/xm/ssrb_uni_oa_ht/.git/index.lock': File exists.error: Unable to create 'E:/zyw/xm/ssrb_uni_oa_ht/.git/index.lock': File exists的解决办法
  • 原文地址:https://www.cnblogs.com/aolong/p/12934498.html
Copyright © 2020-2023  润新知