我使用的是一个从Android网站上获得的RecolyerView
的简单实现,使用的是一个StaggeredGridLayoutManager
,但我不断收到这个导致我的应用崩溃的错误:
java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:true
at android.support.v7.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:3501)
at android.support.v7.widget.RecyclerView$LayoutManager.scrapOrRecycleView(RecyclerView.java:5355)
at android.support.v7.widget.RecyclerView$LayoutManager.detachAndScrapAttachedViews(RecyclerView.java:5340)
at android.support.v7.widget.StaggeredGridLayoutManager.onLayoutChildren(StaggeredGridLayoutManager.java:572)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:1918)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:2155)
at android.view.View.layout(View.java:14008)
at android.view.ViewGroup.layout(ViewGroup.java:4373)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1021)
at android.view.View.layout(View.java:14008)
at android.view.ViewGroup.layout(ViewGroup.java:4373)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14008)
at android.view.ViewGroup.layout(ViewGroup.java:4373)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14008)
at android.view.ViewGroup.layout(ViewGroup.java:4373)
at android.support.v7.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:502)
at android.view.View.layout(View.java:14008)
at android.view.ViewGroup.layout(ViewGroup.java:4373)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14008)
at android.view.ViewGroup.layout(ViewGroup.java:4373)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1663)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1521)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14008)
at android.view.ViewGroup.layout(ViewGroup.java:4373)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14008)
at android.view.ViewGroup.layout(ViewGroup.java:4373)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1892)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1711)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
at android.view.Choreographer.doCallbacks(Choreographer.java:562)
at android.view.Choreographer.doFrame(Choreographer.java:532)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
所谓简单,我的字面意思是,它是从他们网站上的这个页面上获得的相同实现,唯一的区别是我的网格项的布局是一个ImageView
和两个TextView
,所以我不会麻烦重新发布我的代码。
还有谁知道这个错误并知道如何处理它?
如果在XML中将android:animateLayoutChanges
设置为true,并且在Java代码中调用RecyclerView的适配器上的NotifyDataSetChanged()
则会导致此错误。
因此,只需避免将android:animateLayoutChanges
与RecyclerViews一起使用。
当我滚动我的回收器视图太快时,我得到以下崩溃 我已经尽了最大努力,在stackoverflow上得到了类似的问题,但是没有一个像下面的链接一样有帮助, 链接1 链接2 链接3 链接4 链接5 我不知道这次崩溃是从哪里发生的。任何帮助将不胜感激。我既没有使用“android:animateLayoutChanges=”true” 基本上,我试图合并这两个不同的GitHub项目, RV适配器状态 rv
致命异常:主进程:com.zipato.android.client.v2,PID:24966 java.lang.IllegalArgumentException:废弃或附加的视图可能无法回收。isScrap:false isAttached:true at android.support.v7.widget.RecyclerView$Recycler.recycleViewHolderInte
我试图制作一个可在滚动条上生成项目的RecyclerView。方法 我试图实现的是使用循环生成一个无限的 示例:[示例_屏幕截图][1] 编辑:忘记在适配器构造函数中添加一些代码了!添加日志 类ViewHolder2扩展了RecyclerView。ViewHolder实现了视图。OnClickListener{
我想添加一个headerview,当用户向下滚动时隐藏,当用户向上滚动时再次显示。 例子:https://imgur.com/a/tTq70B0 正如你在链接中看到的“你写的是……”pharase仅在用户滚动到顶部时显示。Android sdk中有类似的东西吗? 我怎样才能做到同样的事?
启用minifyEnabled后,在我的gradle文件中启用ḿy应用程序继续崩溃。我已经搜索了很多,但我觉得与Proguard不太适应,我也不确定问题出在哪里。也许我需要添加更多的keep in proguard rules pro? build.gradle 前进的规则。赞成的意见 错误: 有什么想法吗?提前谢谢。
我正在尝试在我的 上实现 ,但我没有得到任何结果。 我遵循了这个教程和这个技巧,但是没有人为我工作。 我已经实现了: 但它不让我编译,因为它们是不同的< code > viewmoder ,因为我创建了两个< code > viewmoder 类,但它们< code >扩展了Recycler。ViewHolder所以我不明白... 我正在尝试这样做,因为我有一个,我希望当列表为空时,它会显示一个,