RecyclerView
2016-10-23 15:27:35 10 举报
RecyclerView的工作流程
作者其他创作
大纲/内容
如果需要重现新布局
1. 从mChangedScrap中获取ViewHolder缓存2. 从mAttachedScrap中获取ViewHolder缓存3. 如果没有ViewHolder,则需要创建ViewHolder,这里会调用onCreateViewHolder()4. 绑定数据,调用Adapter的onBindViewHolder5. 返回ItemView
RecyclerViewDataObserver
LayoutManager.onLayoutChilden()
layoutDecorated()
requestLayout()
循环调用layoutChunk()
Adapter.notifyDataChanged()
6
setAdapterInternal()
onLayout()
1. 计算RecyclerView的可用布局宽和高2. 迭代布局 item view3. 布局 item view4. 计算布局偏移量5. 计算剩余的可用空间
setAdapter()
观察者的实现类:RecyclerView的内部类
requestlayout()
3
数据集发生改变
onChanged()
child.layout()
fill()
RecyclerView.Recycler.getViewForPosition()
1. 获取Item View2. 获取Item View的布局参数3. 丈量Item View4. 计算该Item View消耗的宽度或高度5. 按照水平或竖直方向布局,计算Item View上下左右坐标6. 布局Item View
注册观察者
RecyclerView的工作流程
dispatchLayout
1
setLayoutManager()
0 条评论
下一页