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

转载请标明出处,维权必究:http://77blogs.com/?p=482

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

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

notifyItemRemoved(position);

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

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

发布者

大道苍莽,一笔一墨,皆重之。

发表评论