废弃或附加的视图可能无法回收。 isScrap:false isAttached:true android.support.v7.widget.RecyclerView

时间:2018-09-04 03:04:22

标签: android

有时使用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)

此错误有错误,此列表有图像使用滑行加载

2 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,最终我通过将recyclerView项目动画器设置为null来解决了该问题

recyclerView.setItemAnimator(null);

答案 1 :(得分:0)

就我而言,它不是动画或任何东西。我在addview方法中调用了 RecyclerView onBindViewHolder方法(这是一个非常大的错误),当我快速滚动时,它以某种方式导致了此错误。如果我缓慢地上下滚动,则不会出现错误。我通过删除addview来修复它,并让适配器按原样填充recyclerview。这是一个菜鸟错误。