为了实现数据适配,Android系统提供了一系列的适配器(Adapter)对ListView进行数据适配。适配器就像显示器,把复杂的数据按人们易接受的方式来展示。接下来介绍几种常用的Adapter。
(1)BaseAdapter
BaseAdapter顾名思义即基本的适配器。它实际上就是一个抽象类,该类拥有4个抽象方法。在Android开发中,可根据这几个抽象方法来对ListView进行数据适配。
BaseAdapter的4个抽象方法的功能如表7-2所示。
表7-2 BaseAdapter的几个抽象方法
表7-2介绍的4个抽象方法分别用于设置Item的总数、获取Item对象、获取Item id、得到Item视图。开发者在适配数据到ListView时,需要创建一个类来继承BaseAdapter并重写这4个抽象方法。
(2)SimpleAdapter
SimpleAdapter继承了BaseAdapter,实现了BaseAdapter的4个抽象方法,分别是getCount()、getItem()、getItemId()、getView()方法。因此,开发者需要创建SimpleAdapter的构造方法如下:
上述构造方法有多个参数,下面针对这些参数进行介绍:
·Context context:Context对象,getView()方法中需要用到Context来将布局文件转换为View对象。
·List<?Extends Map<String,?>>data:数据集合,SimpleAdapter已经在getCount()方法中实现将数据集合的大小返回。(www.daowen.com)
·int resource:Item布局的资源Id。
·String[]from:Map集合里面的Key。
·int[]to:Item布局相应的空间Id。
需要注意的是,SimpleAdapter只能适配Checkable、TextView、ImageView,其中Checkable是一个接口,CheckBox控件实现了该接口。TextView适用于显示文本的控件,ImageView是用来显示图片的控件。如果int[]to所代表的控件不是这三种类型,则系统会报IllegalStateException。
(3)ArrayAdapter
ArrayAdapter也是BaseAdapter的子类。与SimpleAdapter相同,ArrayAdapter也不是抽象类,ArrayAdapter通常用于适配TextView控件,例如Android中Setting(设置菜单)。
ArrayAdapter的构造方法如下所示:
ArrayAdapter构造方法中同样有多个参数,下面针对这些参数进行介绍:
·Context context:Context对象。
·int resource:Item布局的资源Id。
·int textViewResourceId:Item布局相应的控件TextView的Id。
·T[]objects:需要适配的数据数组。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。