安卓开发-ListView的使用

来源:互联网 发布:火车采集软件 编辑:程序博客网 时间:2024/06/13 02:47

ListView一般是配合着Adapter来使用的。

ListView负责显示,Adapter是数据源。

 ListView is a view group that displays a list of scrollable items. The list items are automatically inserted to the list using anAdapter that pulls content from a source such as an array or database query and converts each item result into a view that's placed into the list.

列表显示需要三个基本的元素:

1、ListView

2、Adapter,是把数据展示到ListeView上的中介.

当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View。

 这里有一篇文章,讲getView函数的性能优化的。getView()的第二个形参 View convertView就是被缓存起来的list item的view对象(初始化时缓存中没有view对象则convertView是null)。
 优化点就是,由于每次滑动到一个列表项的时候,都要调用getview加载这个项的内容,性能差的方法是每次都初始化对象并加载到界面上。优化后的方法是如果已经有存在了的对象,则不new对象了。而是使用已经存在的对象。参见这里
http://li-bonan.blog.163.com/blog/static/13556477020127921550681/

3、数据

根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter
其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。

ArrayAdapter

ArrayAdapter的构造需要三个参数,依次为this,布局文件(注意这里的布局文件描述的是列表的每一行的布局,android.R.layout.simple_list_item_1是系统定义好的布局文件只显示一行文字,数据源(一个List集合)。同时用setAdapter()完成适配的最后工作并显示在手机界面上。

----------------------------------------

SimpleCursorAdapter

skd的解释是这样的:An easy adapter to map columns from a cursor to TextViews or ImageViews defined in an XML file. You can specify which columns you want, which views you want to display the columns, and the XML file that defines the appearance of these views。简单的说就是方便把从游标得到的数据进行列表显示,并可以把指定的列映射到对应的TextView中

-------------------------------------------

SimpleAdapter
simpleAdapter的扩展性最好,可以定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)等等。下面的代码都直接继承了ListActivity,ListActivity和普通的Activity没有太大的差别,不同就是对显示ListView做了许多优化,方便显示而已。

-----------------------------------------

例子可以参考这里

原创粉丝点击