Header issue : java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
See original GitHub issueHello,
I create header view holder in such way:
@Override public AisleHeaderHolder onCreateHeaderViewHolder(ViewGroup parent) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.listitem_aisle_header, parent, false); return new AisleHeaderHolder(view); }
and I got sometimes such a crash, any idea how to resolve it ? :
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.at android.view.ViewGroup.addViewInner(ViewGroup.java:4419)at android.view.ViewGroup.addView(ViewGroup.java:4260)at android.view.ViewGroup.addView(ViewGroup.java:4200)at android.view.ViewGroup.addView(ViewGroup.java:4173)at com.cruxlab.sectionedrecyclerview.lib.SectionHeaderLayout$1.addHeaderView(SectionHeaderLayout.java:139)at com.cruxlab.sectionedrecyclerview.lib.SectionDataManager$HeaderManager.addHeaderView(SectionDataManager.java:827)at com.cruxlab.sectionedrecyclerview.lib.SectionDataManager$HeaderManager.checkIsHeaderViewChanged(SectionDataManager.java:798)at com.cruxlab.sectionedrecyclerview.lib.SectionHeaderLayout$2.onScrolled(SectionHeaderLayout.java:189)at androidx.recyclerview.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:5173)at androidx.recyclerview.widget.RecyclerView.scrollByInternal(RecyclerView.java:1971)at androidx.recyclerview.widget.RecyclerView.onTouchEvent(RecyclerView.java:3391)at android.view.View.dispatchTouchEvent(View.java:10039)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2628)at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2307)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:417)at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1808)at android.app.Activity.dispatchTouchEvent(Activity.java:3194)at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:379)at android.view.View.dispatchPointerEvent(View.java:10261)at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4503)at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4368)at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3908)at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3961)at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3927)at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4054)at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3935)at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4111)at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3908)at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3961)at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3927)at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3935)at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3908)at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6346)at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6320)at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6281)at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6452)at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:187)at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176)at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:6420)at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6475)at android.view.Choreographer$CallbackRecord.run(Choreographer.java:876)at android.view.Choreographer.doCallbacks(Choreographer.java:688)at android.view.Choreographer.doFrame(Choreographer.java:617)at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:862)at android.os.Handler.handleCallback(Handler.java:754)at android.os.Handler.dispatchMessage(Handler.java:95)at android.os.Looper.loop(Looper.java:163)at android.app.ActivityThread.main(ActivityThread.java:6238)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (1 by maintainers)
Thank you @lizapopova and @romasku, looks like 1.1.1 resolved problem !
Hi! I’ll take a look at it today, will write an update here. Sorry for the delay.