listview
文章平均质量分 72
xiaopangcame
这个作者很懒,什么都没留下…
展开
-
ListView中requestLayout执行流程解析
从上面可以看到最终会执行mParent的requestLayout方法,mParent是一个ViewParent类,它是一个接口,真正的requestLayout实现在它的子类,进入ViewRootImpl源码。看看内部源码,在mTraversalRunnable的run方法中,执行了doTraversal()方法,进入到doTraversal方法,我们可以看到执行了performTraversals()方法。它的父类也没有实现这个方法,最终执行的其实就是View的requestLayout方法。原创 2023-10-29 20:38:08 · 622 阅读 · 0 评论 -
浅析notifyDataSetChanged内部工作流程
其实这个工作在setAdapter中完成的,当为ListView设置一个Adapter的时候,就在这个Adapter中注册了一个回调监听,也就是上面说的实现一个DataSetObserver类,重写其中的onChanged回调方法,然后把这个对象添加到ArrayList当中,当Adapter调用notifyDataSetChanged的时候,就会回调onChanged函数,在onChanged里面进行ListView的更新,这样ListView就进行更新操作。原创 2023-10-29 15:55:35 · 255 阅读 · 0 评论