您当前的位置: 首页 > 

郭梧悠

暂无认证

  • 2浏览

    0关注

    402博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ListView乱谈之ListView中View复用机制的简单解析

郭梧悠 发布时间:2015-10-10 11:16:07 ,浏览量:2

在《ListView乱谈之ListView的滚动原理 》 一篇中算是详细的介绍了ListView的滚动原理,一句话简单的总结就是:在合适的时机适时地添加新的ItemView和删除原来旧的ItemView,同时对新的把新的View布局在紧邻的旧的ItemView之下或者之上。在这里进行删除原来的ItemView的时候对这些删除的ItemView进行了回收操作,以便下次反向滚动回来的时候重用之,提高ListView等的性能!下面一小段代码就是在向上滚动的时候,对上面滚动后而看不见的ItemView进行删除和回收。  

 // 随着ListView向上滚动,把已经看不见的ItemView从mChildView从mChildren中删除  
            View first = getChildAt(0);  
            while (first.getBottom() < listTop) {  
                AbsListView.LayoutParams layoutParams = (LayoutParams) first.getLayoutParams();  
                //为了之后在逆向滚动回来需要把这些删除的View都通过recycleBin保存起来供以后生使用  
                if (recycleBin.shouldRecycleViewType(layoutParams.viewType)) {  
                    recycleBin.addScrapView(first, mFirstPosition);  
                }  
                //删除随着滚动不可见的View  
                detachViewFromParent(first);  
                first = getChil
关注
打赏
1663674776
查看更多评论
立即登录/注册

微信扫码登录

0.0407s