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

时间:2023-03-08 17:24:00

转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/10116298.html

在项目过程中出现了上述错误。

会出现这样的错误是在我使用:

notifyItemRemoved(position);

notifyItemRangeChanged(position, mList.size() - position);

的时候出现的,其实是因为我的RecycleView有FootView,而当我删除最后一个Item的时候,notifyItemRangeChanged(position, mList.size() 里面的position对应的Item就变成FootView了(调用notifyItemRemoved(position);并不会刷新position,可参考:https://www.cnblogs.com/tangZH/p/10116095.html),由于FootView没有绑定ViewHolder,所以调用notifyItemRangeChanged(position, mList.size() - position)相当于刷新FootView,出现了该错误。