jdsjlzx / LRecyclerView

RecyclerView下拉刷新,自动加载更多;仿IOS侧滑Item删除菜单(盼望大家扩展更多功能)
http://blog.csdn.net/jdsjlzx/article/details/51794220
Apache License 2.0
2.47k stars 598 forks source link

使用报错java.lang.IllegalArgumentException #175

Open 284853845 opened 7 years ago

284853845 commented 7 years ago

添加头的时候,没有数据,有时候会报这个错,不知道是为啥? java.lang.IllegalArgumentException called detach on an already detached child ViewHolder{755d5c0 position=2 id=-1, oldPos=-1, pLpos:-1 scrap [attachedScrap] tmpDetached no parent} android.support.v7.widget.RecyclerView$5.detachViewFromParent(RecyclerView.java:781) 2 android.support.v7.widget.ChildHelper.detachViewFromParent(ChildHelper.java:284) 3 android.support.v7.widget.RecyclerView$LayoutManager.detachViewInternal(RecyclerView.java:8066) 4 android.support.v7.widget.RecyclerView$LayoutManager.detachViewAt(RecyclerView.java:8059) 5 android.support.v7.widget.RecyclerView$LayoutManager.scrapOrRecycleView(RecyclerView.java:8464) 6 android.support.v7.widget.RecyclerView$LayoutManager.detachAndScrapAttachedViews(RecyclerView.java:8447) 7 android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:563) 8 android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3583) 9 android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3312) 10 android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3844) 11 android.view.View.layout(View.java:16754) 12 android.view.ViewGroup.layout(ViewGroup.java:5462) 13 android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079) 14 android.view.View.layout(View.java:16754) 15 android.view.ViewGroup.layout(ViewGroup.java:5462) 16 android.widget.FrameLayout.layoutChildren(FrameLayout.java:338) 17 android.widget.FrameLayout.onLayout(FrameLayout.java:273) 18 android.view.View.layout(View.java:16754) 19 android.view.ViewGroup.layout(ViewGroup.java:5462) 20 android.widget.LinearLayout.setChildFrame(LinearLayout.java:1764) 21 android.widget.LinearLayout.layoutVertical(LinearLayout.java:1607) 22 android.widget.LinearLayout.onLayout(LinearLayout.java:1516) 23 android.view.View.layout(View.java:16754) 24 android.view.ViewGroup.layout(ViewGroup.java:5462) 25 android.widget.FrameLayout.layoutChildren(FrameLayout.java:338) 26 android.widget.FrameLayout.onLayout(FrameLayout.java:273) 27 android.view.View.layout(View.java:16754) 28 android.view.ViewGroup.layout(ViewGroup.java:5462) 29 android.widget.LinearLayout.setChildFrame(LinearLayout.java:1764) 30 android.widget.LinearLayout.layoutVertical(LinearLayout.java:1607) 31 android.widget.LinearLayout.onLayout(LinearLayout.java:1516) 32 android.view.View.layout(View.java:16754) 33 android.view.ViewGroup.layout(ViewGroup.java:5462) 34 android.widget.FrameLayout.layoutChildren(FrameLayout.java:338) 35 android.widget.FrameLayout.onLayout(FrameLayout.java:273) 36 com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2748) 37 android.view.View.layout(View.java:16754) 38 android.view.ViewGroup.layout(ViewGroup.java:5462) 39 android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2225) 40 android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1982) 41 android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1138) 42 android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6227) 43 android.view.Choreographer$CallbackRecord.run(Choreographer.java:884) 44 android.view.Choreographer.doCallbacks(Choreographer.java:696) 45 android.view.Choreographer.doFrame(Choreographer.java:631) 46 android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:870) 47 android.os.Handler.handleCallback(Handler.java:743) 48 android.os.Handler.dispatchMessage(Handler.java:95) 49 android.os.Looper.loop(Looper.java:150) 50 android.app.ActivityThread.main(ActivityThread.java:5546) 51 java.lang.reflect.Method.invoke(Native Method) 52 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794) 53 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)

syanfox commented 7 years ago

有找到问题原因吗?

284853845 commented 7 years ago

没找到,不过我已经解决了,就是不适用removeView这个方法,通过设置隐藏不隐藏来控制头的隐藏与显示