listview适配器与加载过程详解

android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容。

Listview由以下三个元素组成:

Ø  View:用来展示列表,通常是一个xml所指定的。

Ø  适配器:把不同的数据映射到view上,不同的数据对应不同的适配器,如ArrayDdapter,CursorAdapter,SimpleAdapter等,他们能偶将数组,指针指向的数据,Map等数据映射到View上。

通过listviiewsetadapter方法可以设置其适配器

 public void setAdapter (ListAdapter adapter)

setAdapter方法的参数是ListAdapter,适配器可以为以下八种类型:

ArrayAdapter<T>, BaseAdapter, CursorAdapter, SimpleAdapter,  HeaderViewListAdapter, ResourceCursorAdapter, SimpleCursorAdapter, WrapperListAdapter

ArrayAdapter最为简单,只能展示一行字。

SimpleAdapter有最好的扩充性,可以自定义出各种效果。

SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方便的把数据库的内容以类表的形式展示出来。

以上三种适配器都继承自BaseAdapter,继承BaseAdapter之后,需要重写以下四个方法:getCount,getItem,getItemId,getView

Ø  数据:具体的将被映射的数据和资源,如字符串,图片,基本组件等,通过适配器,这些数据将会被显示到ListView.所有的数据和资源要显示到ListView上都通过适配器来完成。

ListView绘制的过程:

首先,系统在绘制ListView之前,将会先调用getCount方法来获取Item的个数。之后每绘制一个 Item就会调用一次getView方法,在此方法内就可以引用事先定义好的xml来确定显示的效果并返回一个View对象作为一个Item显示出来。也正是在这个过程中完成了适配器的主要转换功能,把数据和资源以开发者想要的效果显示出来。也正是getView的重复调用,使得ListView的使用更 为简单和灵活。这两个方法是自定ListView显示效果中最为重要的,同时只要重写好了就两个方法,ListView就能完全按开发者的要求显示。而 getItemgetItemId方法将会在调用ListView的响应方法的时候被调用到。所以要保证ListView的各个方法有效的话,这两个方 法也得重写。比如:没有完成getItemId方法的功能实现的话,当调用ListViewgetItemIdAtPosition方法时将会得不到想 要的结果,因为该方法就是调用了对应的适配器的getItemId方法。

你可能感兴趣的:(android,移动开发,适配器,休闲,UI开发)