本文共 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”这个选项被选中的情形。1.创建Spinner
为显示下拉框,需要对其进行定义并将其绑定到一个适配器。当下拉框完成设置之后,适配器中的数据应该是可用的。在本例中的数据是一个名为values的字符串数组常量:通过将 values 数组关联到一个名为 android.R.layout.simple_spinner_item 的预定义系统资源,来创建一个名为 spinnerAdapter的 ArrayAdapter。将spinnerAdapter设置为下拉框的适配器。这个适配器将数据绑定到下拉框并指定了每一项如何显示。
2.从Spinner读取数据
对下拉框可以做很多处理。通过实现 OnItemSelectedListener()方法可以检测出下拉框中的一个条目何时被选中。使用 getSelectedItem()或 getSelectedItemPosition()方法可以读取下拉框中被选中的数据。在本例中列表中存放的字符串,因此可以使用下面的方式来读取字符串的值:
转载地址:http://nzzxa.baihongyu.com/