读书人

ListView的施用和特性研究(一)

发布时间: 2012-08-11 20:50:31 作者: rapoo

ListView的使用和特性研究(一)

ListView的使用和特性研究(一)

?

转载自 : http://www.android777.com/index.php/tutorial/listview-1.html

?

ListView应该是android里最常用的显示数据的控件了。它用来将集合数据一个个抽取出来按照从头到尾往下显示的控件里,这些是在手机中经常看到的一些布局。

?

我们可以看从简单的到难的布局,一步步学习如何使用ListView来构建UI和了解ListView的原理和实现机制。

?

我们看看最简单的ListView效果:

?


ListView的施用和特性研究(一)

?

带有图标的ListView效果图:


ListView的施用和特性研究(一)

其他稍微复杂的ListView的布局。


ListView的施用和特性研究(一)


ListView的施用和特性研究(一)

?

下面我们从简单到难的步骤分析演示如何使用android中的ListView。

?

1.简单的ListView布局(单行显示信息)


首先我们先创建存放ListView的Activity所需要的布局xml文件。

?

list_view1.xml

?

上面代码我们创建了一个布局配置文件,里面只放了一个ListView控件,将其ID设置为:list1。

?

接下来是java代码,大概步骤是:先找出ListView,然后往ListView里填充东西。

?


?以上的代码很简单,运行效果如下:


ListView的施用和特性研究(一)

上面代码有一定的局限性,就是比如你要创建稍微复杂点的布局,如名片卡,显示名字,电话信息,地址等。像这种稍微复杂的布局就无法用上面的来做,因为在上面的例子中,ArrayAdapter里装的数据都是String型,单行仅能显示一条数据。

?

?

2.进阶的ArrayAdapter,自定义布局来显示ArrayAdapter里面装的对象。

?

这边我们沿用上面的xml布局,因为要往ArrayAdapter里面装对象,所以这边我们先定义一个对象,最后要做的就是将对象的信息显示在ListView中。

?

?

?

接下来将这个对象装进ArrayAdapter显示出来。

?

依据上面的结果,可以得出结论,ArrayAdapter默认是调用它里面装的对象的toString方法来展示数据。但是上面的信息显得太凌乱,所以这边要介绍另外一个ArrayAdapter的使用方法,就是扩展ArrayAdapter,通过继承它来实现自定义视图的展现。所以刚开始要做的是先创建一个xml布局文件,确定ListView里每行数据显示的样式。

?

list_view1_item.xml

?

?

接下来通过继承ArrayAdapter,然后重写getView方法,用来将自定义布局的View注入到ListView中,然后将每条数据装进对应的View中。

?

PersonAdapter.java

?

以上继承ArrayAdapter类,重写getView方法,里面的实现还不是最高效率,这边涉及到ListView的懒加载机制和实现的原理,以后详论。

?


3.通过上面两个例子我们可以简单的了解创建ListView的一般步骤,总的说来可以总结为下面几个步骤。

创建ListView里item的布局xml文件,第一个例子引用了android.R.layout.simple_list_item_1 ,所以省略掉创建的步骤,缺点是只能显示一条信息。创建数据源,数据源可能是手动添加或查询数据库获取。通过继承ArrayAdapter,重写getView方法来进行数据绑定。

?

?

?

?

?

?

3 楼 Jasper_Success 2012-02-09 请教一下带有图标的那个是怎么弄得?谢谢

读书人网 >移动开发

热点推荐