博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Android应用开发入门经典(第3版)》——第6.3节组合使用控件和适配器
阅读量:6301 次
发布时间:2019-06-22

本文共 1242 字,大约阅读时间需要 4 分钟。

本节书摘来自异步社区《Android应用开发入门经典(第3版)》一书中的第6章,第6.3节组合使用控件和适配器,作者 【美】Carmen Delessio , Lauren Darcey , Shane Conder,更多章节内容可以访问云栖社区“异步社区”公众号查看

6.3 组合使用控件和适配器

Android应用开发入门经典(第3版)
很多空间只有一个text属性。例如一个按钮可能会显示一个“OK”或者可能会将一行文本作为一个文本视图的标签。其他控件中必须要显示的数据可能会有很多,对于这些控件就可以使用适配器来将复杂的数据与控件联系起来。

6.3.1 适配器

一个 Adapter(android.widget.Adapter)将数据绑定到视图。例如,Spinner 是一个向用户提供一系列选项列表供选择的控件。这一个选项列表是这个视图运行时所需的数据。为了使得视图和数据之间能够联动起来,就需要使用一个适配器。在本节中将会使用预定义的适配器,如ArrayAdapter(android.widget.ArrayAdapter)。对于更加复杂的应用来讲,创建自定义的适配器是很常见的。在后续介绍游标和游标适配器的章节中将会创建自定义的适配器。

下面将使用一个 ArrayAdapter 来在一个Spinner控件和一个AutoCompleteTextView中显示同样的数据。

在本例中将会使用一个String数组,这个数组是在程序中定义的。当然,也可以将一个String数组定义成一种资源,但那种方法对于一个不会发生变化的列表来讲是合适的。

读者可以阅读第15章,获取更多有关创建自定义的适配器方面的信息。

6.3.2 使用Spinner控件

一个下拉框实际上是Android平台上的一个下拉列表。如图6.8所示,左图给出了一个未选中的下拉框,右图给出了同样的一个下拉框中下拉列表中“three”这个选项被选中的情形。

823703cc4a4fa41cb2dd80d0d906cde755c5e0ce

1.创建Spinner

为显示下拉框,需要对其进行定义并将其绑定到一个适配器。当下拉框完成设置之后,适配器中的数据应该是可用的。在本例中的数据是一个名为values的字符串数组常量:

d6c925de49eb2167394be9ef91052a0ac42e515a

通过将 values 数组关联到一个名为 android.R.layout.simple_spinner_item 的预定义系统资源,来创建一个名为 spinnerAdapter的 ArrayAdapter。将spinnerAdapter设置为下拉框的适配器。这个适配器将数据绑定到下拉框并指定了每一项如何显示。

2.从Spinner读取数据

对下拉框可以做很多处理。通过实现 OnItemSelectedListener()方法可以检测出下拉框中的一个条目何时被选中。使用 getSelectedItem()或 getSelectedItemPosition()方法可以读取下拉框中被选中的数据。

在本例中列表中存放的字符串,因此可以使用下面的方式来读取字符串的值:

9005ec96747177acf1228dd305bb29a7b4ba12ed

转载地址:http://nzzxa.baihongyu.com/

你可能感兴趣的文章
普通人如何从平庸到优秀,在到卓越
查看>>
SLAM数据集
查看>>
c#学习笔记05——数组&集合
查看>>
【图论算法】Dijstra&BFS
查看>>
注册和上传文件(头像)
查看>>
使用OVS
查看>>
键盘回收的几种方法
查看>>
Linux help websites
查看>>
ansible - roles(高级运维)
查看>>
Python(条件判断和循环)
查看>>
使用Html5开发Windows 8应用
查看>>
day4 linux安装python
查看>>
Spark 架构原理介绍 以及 job、task、stag 概念
查看>>
LeetCode Container With Most Water (Two Pointers)
查看>>
npm install (让别人下载自己的包)
查看>>
vue (v-if show 问题)
查看>>
转://Oracle 高可用技术与云基础架构
查看>>
[转载] 七龙珠第一部——第080话 悟空对抗天龙
查看>>
Spring 并发事务的探究
查看>>
HDOJ_ACM_Big Event in HDU
查看>>