Android适配器(Adapter)的简单介绍

        什么是适配器呢?顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示。适配器就像显示器,把复杂的东西按人可以接受的方式来展现。可以说适配器就是数据和视图之间的桥梁,学好适配器还是非常重要的。

        适配器的工作原理:

        适配器是怎么处理得到的数据,并把它显示出来的呢?其实很简单,说白了适配器它也是一个类,在类里面它实 现了父类的这几个方法,我们拿ListView举例

        1.public int getCount() //得到数据的行数

        这个方法要返回你要添加进ListView里的东西的总数,也就是要告诉ListView,我添加进列表里的东西有多少,需要多长的列表。可能那么为什么不直接返回mListView的长度呢?原因就是我们的ListView可能会添加”头“和”尾“,来进行一些更新之类的交互,就像微博之类的下拉刷新或者到底后加载,所以干脆直接用我们添加的内容的长度

        2.public Object getItem(int position) //根据position得到某一个对象的实例

        ListView要加载内容,要获得内容才可以加载!这个方法就是要让ListView可以通过一个position来获得我们要添加在相应位置的内容的内容是什么?当然是刚才mArray里相应位置的东西了

        3.public long getItemId(int position) //得到某一条记录的ID

        返回一个item的id,由参数position决定是哪个id

        4.publicView getView(int position, View convertView, ViewGroup parent) //相比于其它几个方法这个方法是最重要的,它显式的定义了适配器将要以什么样的方式去显示我们所 填充的数据,在自定义的适配器里面我们通常会给它写个布局文件。

        这里面一般我们会怎么做呢?

        一般,我们添加到ListView里的每个View都是xml(布局文件)定义好的。一开始需要构造过来一个Context!

        当然,最后要return view,把这个我们包装好的View给回ListView,让它在列表里显示。

        下面是《Android第一行代码》117页的部分代码

 

        这个convertView, 从原理上讲 当ListView滑动的过程中 会有item被滑出屏而不再被使用,这时候Android会回收这个条目的view 这个view也就是这里的convertView ,当item1被移除屏幕的时候 我们会重新new一个View给新显示的item_new 而如果使用了这个convertView 我们其实可以复用它 这样就省去了new View的大量开销。

        下面是优化了一部分的代码,在《Android第一行代码》的119页

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值