码迷,mamicode.com
首页 > 其他好文 > 详细

listview与baseadapter

时间:2015-04-14 00:31:54      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

  最近listview结合baseadapter运用较多,对二者也慢慢变得熟悉起来,在这里做一个小小总结。

  listview属于典型的适配器控件,适配器控件派生自android.widget.AdapterView,一般由三部分组成,控制视图、数据源、适配器对象。适配器对象的作用就是:构造列表项控件,并将数据项绑定到列表项控件中,baseadapter是一种较为常用且功能强大的适配器,关键在于getView()方法的实现;

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        return null;
    }

在适配器的定制过程中,开发者需要明确列表项的数量,并确定每个列表项对应的数据内容,同时需要为列表项构造列表空间对象,并将对应的列表项数据绑定到列表项控件上。

  按照这样的方式构造适配器,当列表项很多事会导致子控件的数量急剧膨胀,耗费大量内存,甚至崩溃。android的适配器控件在设计时在getView函数中有一个输入函数convertView,用于缓存最近一个失去可视状态的列表项空间对象。如下图

技术分享

 

convertView就是用于缓存失去可视状态的列表项控件,通过getView函数会传到开发者手里,开发者可以复用这个控件对象重新绑定即将可是的列表项对象数据,从而避免了构造新列表项控件的开销。结合ViewHolder将更加高效(避免重复getViewByid());待续

listview与baseadapter

标签:

原文地址:http://www.cnblogs.com/yigeboke/p/4423540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!