关闭

常见的几个适配器的用法以及参数详解

145人阅读 评论(0) 收藏 举报
分类:

1.ArrayAdapter

两种用法:

1>ArrayAdapter adapter=new ArrayAdapter(a,b,c);

参数:a:上下文,b:布局样式,c:数据源

2>ArrayAdapter adapter=ArrayAdapter.createFromResourse(a,b,c);

参数:a:上下文,b:数据源,c:布局样式

1数据源来源于java里,2数据源来源于资源里的数组(学的是这样的可能不是这样)

2.SimpleAdapter

数据源:List<HashMap<String,Object>>

创建适配器:SimpleAdapter adapter=new SimpleAdapter(a,b,c,d,e);

参数:a:上下文,b:数据源,c:布局样式,d:String[]{map的键},e:布局中要设置属性的控件的ID,必须跟map的键对应起来

3.BaseAdapter

数据源:List<HashMap<String,Object>>

创建适配器:

1>创建一个类,继承BaseAdapter(可以重新创一个类,或者写成内部类)

2>重写里面的4个方法,如果是重新创的一个类,要写一个有参的构造器,设置两个成员属性List<HashMap<String,Object>>和Context

3>4个方法分别为a,数据源的长度,b:item的内容,c:item的ID

d,返回的视图

d为重点:先自定义一个布局,然后在继承baseadapter的类中再写一个内部类,把自定义的布局里的控件设置为该内部类的成员属性

声明一个内部类,如果convertview为null,则先绑定一个布局

convertview=View.iflate(a,b,c)

a:上下文(有参中的上下文)b:自定义的布局,c:null

创建一个内部类对象,实例化控件,然后把对象存入convertview缓存中(convertview.setTag(内部类对象))

如果convertview不为空,则用声明的内部类来接收一下convertview的缓存(内部类=(内部类)convertview.getTag())

再设置实例化的控件的属性,返回convertview

4.PagerAdapter

数据源:List<View>

创建一个适配器

PagerAdapter adapter=new PagerAdapter();

里面最少写4个方法

1>getCount:数据源的长度(也就是翻页的总长度)

2>isViewFromObject:一般写成view==object

3>instantiateItem:进入选中页面的视图

container.addView(list.get(position));

return list.get(position);

4>destroyItem:将要从选中页面离开的视图

container.removeView(list.get(position));

适配器用法:

实例化控件,创建一个适配器,然后绑定适配器到控件上





0
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:12457次
    • 积分:498
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:0篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论