Baserecyclerviewadapterhelper: java.lang.IllegalArgumentException: Called attach on a child which is not detached: ViewHolder

Created on 24 Sep 2019  ·  4Comments  ·  Source: CymChad/BaseRecyclerViewAdapterHelper

查看了历史解决方式,并没有找到解决方式。

使用版本:"com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.45-androidx"
1、使用BaseQuickAdapter,提前addHeaderView;
2、配合使用SmartRefreshLayout,加载网络数据列表,网络数据回调中,第一页调用BaseQuickAdapter.setNewData方法,后续加载的分页数据使用addData,并没有对列表做任何的增删;
偶发崩溃:java.lang.IllegalArgumentException: Called attach on a child which is not detached: ViewHolder;而没有addHeaderView的列表页中并没有出现过该异常。

image

Most helpful comment

@EdminhPeng 请问这个问题解决了吗,是怎么解决的

do you call adapter.notifyItemChanged(position), if yes, replace by adapter.notifyItemChanged(position + getHeaderLayoutCount())

All 4 comments

item的position要加上headerView的数量

item的position要加上headerView的数量

直接BaseQuickAdapter.setNewData或者BaseQuickAdapter.addData,里面做了position的兼容啊

@EdminhPeng 请问这个问题解决了吗,是怎么解决的

@EdminhPeng 请问这个问题解决了吗,是怎么解决的

do you call adapter.notifyItemChanged(position), if yes, replace by adapter.notifyItemChanged(position + getHeaderLayoutCount())

Was this page helpful?
0 / 5 - 0 ratings