当前位置:操作系统 > 安卓/Android >>

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

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

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

 \

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)来显示一个列表项。


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

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

 

\
 

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,