ChildHelper在前面的《RecyclerView的ChildHelper》文章中,我们介绍了ChildHelper类的实现,其中提到用来保存所有子视图状态的Bucket类,这篇文章,我们就来学习一下Bucket类是如何通过位操作,来保存状态的。
RecyclerView中会展示若干的items,RecyclerView也提供了对子视图的删除等操作,我们以remove操作为例。代码如下:
- public void removeViewAt(int index) {
- final View child = getChildAt(index);
- if (child != null) {
- mChildHelper.removeViewAt(index);
- }
- }
通常,我们删除一个item的时候,会从adapter的数据源中去删除,然后调用adapter的notifyDataSetChanged去更新