listview适配器与加载过程详解
在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容。
Listview由以下三个元素组成:
Ø View:用来展示列表,通常是一个xml所指定的。
Ø 适配器:把不同的数据映射到view上,不同的数据对应不同的适配器,如ArrayDdapter,CursorAdapter,SimpleAdapter等,他们能偶将数组,指针指向的数据,Map等数据映射到View上。
通过listviiew的setadapter方法可以设置其适配器
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就能完全按开发者的要求显示。而 getItem和getItemId方法将会在调用ListView的响应方法的时候被调用到。所以要保证ListView的各个方法有效的话,这两个方 法也得重写。比如:没有完成getItemId方法的功能实现的话,当调用ListView的getItemIdAtPosition方法时将会得不到想 要的结果,因为该方法就是调用了对应的适配器的getItemId方法。
补充:移动开发 , Android ,