美文网首页
Android——ListView工作原理及具体实现

Android——ListView工作原理及具体实现

作者: 薛云龙 | 来源:发表于2016-09-26 22:13 被阅读147次

    实例化一个ListView,需要给这个listview设定一个适配器(adapter)才能够使其正常工作。如果我们重写了一个适配器的话,我们会发现我们需要重载四个方法:如下图

    重写监听器
    1.getCount()函数,返回的是我们调用的这个listview的长度
    listview开始绘制的时候,会调用该方法,来一行一行的绘制listview。如果你的getCount()返回值是0的话,列表一行都不会显示,如果返回1,就只显示一行。返回几则显示几行。
    ?如果要显示的item很多怎么破?我们也不可能会生成成千上万的item吧?
    Android早已经缓存了这些视图,大家可以看下下面这个截图来理解下: Paste_Image.png

    原理剖析:
    1.如果有几千几万甚至更多的选项(item)时,其中只有可见的如图中七个item在内存中存放着,而其他的都在recycler中
    2.ListView先请求一个type1视图(getView)然后请求其他可见的项目。convertView在getView中是空(null)的
    3.当item1滚出屏幕,并且一个新的项目从屏幕低端上来时,ListView再请求一个type1视图。convertView此时不是空值了,它的值是item1。你只需设定新的数据然后返回convertView,不必重新创建一个视图
    自己重写一个adapter适配器(重点在于getview()函数):

    重写适配器

    相关文章

      网友评论

          本文标题:Android——ListView工作原理及具体实现

          本文链接:https://www.haomeiwen.com/subject/vdoqyttx.html