Android Spinner

1. Spinner

Spinner是下拉列表,如图3-14所示,通常用于为用户提供选择输入。Spinner有一个重要的属性:spinnerMode,它有2种情况:

  1. 属性值为dropdown时,表示Spinner的数据下拉展示,如图1(a)所示.
  2. 属性值为dialog时,表示Spinner的数据为弹窗展示,如图1(b)所示。

spinnerMode的默认值为dropdown,即下拉展示。

图1 Spinner效果图

Spinner展示的数据可以分为静态数据和动态数据2种,静态数据可以以<string-array>元素的形式存放在string.xml,示例代码如下:

复制代码
<resources>
    <string name="app_name">SpinnerTest</string>
    <string-array name="spinner_list">
        <item>请选择</item>
        <item>Android</item>
        <item>Java</item>
        <item>Python</item>
        <item>单片机</item>
        <item>嵌入式系统</item>
    </string-array>
</resources>

动态数据可以以List的方式存放,可以来着数据库或网络接口。

不管是静态数据还是动态数据,都需要通过适配器Adapter将数据与Spinner控件适配起来才可以在界面上显示。简言之,适配器Adapter就是数据和控件之间的桥梁纽带。由于Spinner数据一般为字符串数组,因此一般使用ArrayAdapter作为Spinner的适配器。

Spinner还有几个重要的方法,见表1。

表1 Spinner的常用方法

|-----------------------------------------------------------------|-------------------|
| 方法名 | 作用 |
| void setDropDownViewResource(@LayoutRes int resource) | 设置下拉列表中选项的显示效果布局 |
| void setAdapter(SpinnerAdapter adapter) | 设置Spinner的数据适配器 |
| void setSelection(int position) | 设置被选中item的postion |
| void setOnItemSelectedListener(OnItemSelectedListener listener) | 设置被选中后的监听事件 |
| Object getSelectedItem() | 获取被选中的item |

相关推荐
2501_915918415 分钟前
iOS mobileprovision 描述文件管理,新建、下载和内容查看
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张20 分钟前
iOS 应用程序使用历史记录和耗能记录怎么查?
android·ios·小程序·https·uni-app·iphone·webview
用户69371750013841 小时前
OS级AI Agent:手机操作系统的下一个战场
android·前端·人工智能
私人珍藏库1 小时前
[Android] 亿连车机版V7.0.1
android·app·软件·车机
用户69371750013842 小时前
315曝光AI搜索问题:GEO技术靠内容投喂操控答案,新型营销操作全揭秘
android·前端·人工智能
进击的cc2 小时前
彻底搞懂 Binder:不止是 IPC,更是 Android 的灵魂
android·面试
段娇娇2 小时前
Android jetpack LiveData (三) 粘性数据(数据倒灌)问题分析及解决方案
android·android jetpack
用户2018792831673 小时前
TabLayout被ViewPager2遮盖部分导致Tab难选中
android
法欧特斯卡雷特3 小时前
Kotlin 2.3.20 现已发布,来看看!
android·前端·后端
闻哥3 小时前
深入理解 MySQL InnoDB Buffer Pool 的 LRU 冷热数据机制
android·java·jvm·spring boot·mysql·adb·面试