java.lang.IllegalArgumentException: called detach on an already detached child ViewHolder{154c4fd1 position=2 id=-1, oldPos=-1, pLpos:-1 scrap [attachedScrap] tmpDetached no parent}

Searched on Google with the first line of a JAVA stack trace?

We can recommend more relevant solutions and speed up debugging when you paste your entire stack trace with the exception message. Try a sample exception.

Recommended solutions based on your search

Samebug tips

,
Expert tip

This issue was solved in 2.2.6. If updating doesn't solve, try using notifyItemRangeChanged(1, mDatas.size()) instead of notifyItemRangeChanged(0, mDatas.size()).

,

java.lang.IllegalArgumentException indicate that a method has been passed an illegal or inappropriate argument.we were not ending their animations.When animation ends, it would recycle it again causing the view to show up in recycle pool twice.

Solutions on the web

via GitHub by SaltedFish999
, 1 year ago
called detach on an already detached child ViewHolder{154c4fd1 position=2 id=-1, oldPos=-1, pLpos:-1 scrap [attachedScrap] tmpDetached no parent}
via GitHub by javyhoo
, 9 months ago
called detach on an already detached child ViewHolder{11eeac9 position=2 id=-1, oldPos=-1, pLpos:-1 scrap [attachedScrap] tmpDetached no parent}
via GitHub by hjmJhon
, 2 weeks ago
called detach on an already detached child ViewHolder{359847f position=3 id=-1, oldPos=-1, pLpos:-1 scrap [attachedScrap] tmpDetached no parent}
via GitHub by hjmJhon
, 4 months ago
called detach on an already detached child ViewHolder{359847f position=3 id=-1, oldPos=-1, pLpos:-1 scrap [attachedScrap] tmpDetached no parent}
via Stack Overflow by Sunday
, 1 year ago
called detach on an already detached child ViewHolder{9d6b1798 position=14 id=-1, oldPos=4, pLpos:4 scrap [attachedScrap] tmpDetached no parent}
java.lang.IllegalArgumentException: called detach on an already detached child ViewHolder{154c4fd1 position=2 id=-1, oldPos=-1, pLpos:-1 scrap [attachedScrap] tmpDetached no parent}
at android.support.v7.widget.RecyclerView$5.detachViewFromParent(RecyclerView.java:710)
at android.support.v7.widget.ChildHelper.detachViewFromParent(ChildHelper.java:284)
at android.support.v7.widget.RecyclerView$LayoutManager.detachViewInternal(RecyclerView.java:7301)
at android.support.v7.widget.RecyclerView$LayoutManager.detachViewAt(RecyclerView.java:7294)
at android.support.v7.widget.RecyclerView$LayoutManager.scrapOrRecycleView(RecyclerView.java:7699)
at android.support.v7.widget.RecyclerView$LayoutManager.detachAndScrapAttachedViews(RecyclerView.java:7682)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:546)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3315)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3124)
at android.view.View.layout(View.java:16112)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1195)
at android.view.View.layout(View.java:16112)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
at android.view.View.layout(View.java:16112)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1959)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1813)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1722)
at android.view.View.layout(View.java:16112)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.view.View.layout(View.java:16112)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1959)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1813)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1722)
at android.view.View.layout(View.java:16112)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
at android.view.View.layout(View.java:16112)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1959)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1813)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1722)
at android.view.View.layout(View.java:16112)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
at android.view.View.layout(View.java:16112)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2548)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2233)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1330)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6705)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:800)
at android.view.Choreographer.doCallbacks(Choreographer.java:603)
at android.view.Choreographer.doFrame(Choreographer.java:572)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:786)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:192)
at android.app.ActivityThread.main(ActivityThread.java:5865)

Users with the same issue

2 times, 1 year ago

Write tip

Know the solutions? Share your knowledge to help other developers to debug faster.