有时使用LinearlayoutManager刷新列表会出现此错误
main(1)
java.lang.IllegalArgumentException
Scrapped or attached views may not be recycled. isScrap:false isAttached:true android.support.v7.widget.RecyclerView{be01f66 VFED..... ........ 0,0-1080,1675}, adapter:com.flowsns.flow.commonui.recyclerview.SmartRecyclerAdapter@6e2a2a7, layout:android.support.v7.widget.LinearLayoutManager@385354, context:com.flowsns.flow.main.activity.MainTabActivity@52b82c8
解析原始
1 android.support.v7.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:5890)
2 android.support.v7.widget.RecyclerView$Recycler.recycleView(RecyclerView.java:5834)
3 android.support.v7.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:292)
4 android.support.v7.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:342)
5 android.support.v7.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:358)
6 android.support.v7.widget.GapWorker.prefetch(GapWorker.java:365)
7 android.support.v7.widget.GapWorker.run(GapWorker.java:396)
8 android.os.Handler.handleCallback(Handler.java:808)
9 android.os.Handler.dispatchMessage(Handler.java:101)
10 android.os.Looper.loop(Looper.java:166)
11 android.app.ActivityThread.main(ActivityThread.java:7425)
12 java.lang.reflect.Method.invoke(Native Method)
13 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
14 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
此错误有错误,此列表有图像使用滑行加载
答案 0 :(得分:0)
我遇到了类似的问题,最终我通过将recyclerView项目动画器设置为null来解决了该问题
recyclerView.setItemAnimator(null);
答案 1 :(得分:0)
就我而言,它不是动画或任何东西。我在addview
方法中调用了 RecyclerView 的onBindViewHolder
方法(这是一个非常大的错误),当我快速滚动时,它以某种方式导致了此错误。如果我缓慢地上下滚动,则不会出现错误。我通过删除addview来修复它,并让适配器按原样填充recyclerview。这是一个菜鸟错误。