欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android ApiDemos示例解析(168):Views->Lists->1. Array

程序员文章站 2022-03-30 08:55:22
...

关于List,前面已有很多介绍,例如Android简明开发教程十:数据绑定Data Binding。ListActivity 可以通过绑定数据源(如数组或Cursor)来显示一个列表,并可以响应用户选择某个列表项。

ListActivity中显示的是ListView,ListView和Gallery ,Spinner有一个共同点:它们都是AdapterView的子类。AdapterView的显示可以通过数据绑定来实现,数据源可以是数组或是数据库记录,数据源和AdapterView是通过Adapter作为桥梁。通过Adapter,AdatperView可以显示数据源或处理用户选取事件,如:选择列表中某项。

Android ApiDemos示例解析(168):Views->Lists->1. Array

ListActivity 缺省Layout为一个全屏显示的单个列表,但Android允许使用setContentView() 为ListActivity使用自定义的Layout。此时Layout中必须含有一个id 为@android:id/list 的ListView。可以参见Expandable Lists 的用法:Android ApiDemos示例解析(112):Views->Expandable Lists->1. Custom Adapter

绑定数据源,ListActivity 的ListView 通过 setListAdapter 于实现了ListAdapter 的对象进行绑定, Android提供了两个标准List的Adapter,一个为SimpleAdapter 用于绑定静态数据(Map),可以参见Android ApiDemos示例解析(2): SimpleAdapter,ListActivity,PackageManager,另外一个为SimpleCursorAdapter 用于绑定Cursor类型数据源,参见Android ApiDemos示例解析(120):Views->Gallery->2. People

对于数组类型数据,还可以使用ArrayAdapter,ArrayAdapter 为一模板类,它缺省使用的显示资源为一TextView ,也可以使用自定义的资源ID创建一个ArrayAdapter.

本例使用string 类型ArrayAdapter ,显示一个数组。使用一个TextView(资源id为android.R.layout.simple_list_item_1)来显示一个列表项。

setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, mStrings));

Android ApiDemos示例解析(168):Views->Lists->1. Array