Android的adapter总结和深入研究

Android的adapter总结和深入研究

Adapter是把数据和用户界面视图绑定的桥梁类。Adapter负责创建用来表示父视图中的每一个条目的子视图,并且提供对底层数据的访问。
支持Adapter绑定的用户界面必须对AdapterView抽象类进行拓展。也可以创建新的由AdapterView派生的控件,创建新的Adapter类绑定他们。

两个最通用的本地Adapter
ArrayAdapter ArrayAdapter使用泛型来把Adapter视图(View)绑定到一个指定类的对象的数组。默认情况下,ArrayAdapter使用数组中每个对象的toString值来创建和填充文本视图。

SimpleCursorAdapter SimpleCursorAdapter可以把一个布局中指定的视图和内容提供器查询返回的游标列绑定在一起。
定制ArrayAdapter
默认情况下,ArrayAdapter将使用它绑定到的对象数组的toString值来填充指定布局中可用的TextView
最常见的例子便是ListView
我们在定义一个ListView组件后,在向ListView组件装载数据之前需要创建一个Adapter对象,

ArrayAdapter<String> AdapterName = new ArrayAdapter<String>(
this,
android.R.layout.simple_list_itme_1,
data);
以上代码中创建了一个android.wedget.ArrayAdapter 对象。ArrayAdapter类的构造方法需要一个android.content.Context对象,因此传入当前Activity的对象实例(this)作为ArrayAdapter类的构造方法的第一个参数值。除此之外,ArrayAdapter还需要完成:
指定列表项模板(第二个参数)
指定列表项中的数据。(第三个参数)
在创建玩Adapter对象后,调用setAdapter方法,ListView组件的每一个列表都会使用simple_list_item_1.xml文件定义的模板来显示,并将data数组中的每一个元素复制给每一个列表项

下面我们来讨论下定制ArrayAdapter
在大多数情况下,我们都要定制用于表示每个视图的布局。所以,需要使用特定类型的变体Adapter来扩展ArrayAdapter,并重写getView方法来向布局视图分配对象属性。
getView方法用于构造,扩充和填充将在父AdapterView类(如ListView)中显示的视图,该父AdapterView类使用这个Adapter绑定到底层的数组。
getView方法接收描述要显示的条目的位置,要更新的视图(或null),以及将包含这个视图的视图组作为参数。调用getItem将返回存储在底层数组的指定索引位置的值。
例如对与ListView来说:
自定义的Adapter类一般需要从android.widget.BaseAdapter类继承。在BaseAdapter类中有两个重要方法:getView和getCount。其中ListView在显示某一列表项是会调用getView方法返回要显示的列表项的View对象,这一点我们上面已经提到了。getCount方法返回当前ListView组件中列表项的总数。
注意:列表项的View对象一定要在getView方法中创建。不能事先创建好View对象,然后再getView方法中返回这些View对象。如果这样做,系统可能会出现一些异常现象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值