Android ListView初步
一、基本概念
ListView相信大家一定不陌生,用了安卓手机也有一些时间了,我发现几乎所有的应用都用到了ListView,所以可见ListView是多么重要的一个组件。但是,感觉自己对它的掌握和理解还是差很多,于是根据开发经验以及网上的资料来写一篇文章整理对ListView的理解。
ListViewextends AbsListView
java.lang.Object ?android.view.View
?android.view.ViewGroup
?android.widget.AdapterView<T extends android.widget.Adapter>
?android.widget.AbsListView
?android.widget.ListView
Known Direct Subclasses
XML属性:
(4)android:divider 各个项目之间的分隔符,可以用Drawable 或者 color 来表示。
(2)android:dividerHeight divader的高度。
(3)android:entries 对数组资源,的引用用来填充列表,事实上很多人用ArrayAdapter。
还用一个比较重要的方法就是SetAdapter()。当我们实例化一个ListView,然后就调用SetAdapter()方法来进行数据的绑定。其中Adapter一般有以下几种:ArrayAdapter,SimpleAdapter和SimpleCursorAdapter以及BaseAdapter。ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。
二、实例
①用ListView来显示文本,点击文本进入另一个Activity。
我们用两种方法来实现,一个是用xml属性里的entries,另一个是ArrayAdapter。先用第一种方法,在values文件夹里面新建arrays.xml:
还有可以用SimpleAdapter和SimpleCursorAdapter往列表中添加图片等其他组件。simpleAdapter的扩展性最好,可以定 义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)等等。 SimpleCursorAdapter比SimpleAdapter多了一个可以从数据库查询数据并显示在ListView中。 当然,我们最常用的还是BaseAdapter,可以根据需求来写我们自己的Adapter。下面这个例子就用到了BaseAdapter。 用过安卓的用户都知道,像软件市场,微信对话里面都用到了ListView。比如软件Marcket里面基本上就是一个ListView,每一个item有一个软件,如图:
之前我们在ListView的item里面只是显示文本,这种情况比较适合在设置界面,那Marcket的item是如何实现的呢。无非也就是在item里面显示图片,文本以及按钮。
下面模仿这个效果做一下:
xml文件:
虽然效果达到了,但是我们这只是一个本地的显示,实际应用中都是从网络上下载然后展示的。流程应该是从数据库中获取数据,然后封装成josn或xml,之后安卓端异步解析并且显示。关于ListView还有很多要说的东西,优化,分页加载,下拉刷新等等。
- 2楼irisoft前天 09:31
- Great!
- Re: wangjinyu501昨天 11:05
- 回复irisoftnthanks
- 1楼alan3941前天 00:18
- good. 這程式寫得真好,對我有很大的幫助。

Known Direct Subclasses