- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
IllegalArgumentException: LinearLayoutManager is already attached to a RecyclerView
当我尝试为我的 RecyclerView
设置 LayoutManager
并且它说 LinearLayoutManager 已经附加
时,我得到了这个Exception
>
但是在我为 RecyclerView 设置 LinearLayoutManager 之前,我已经检查了我的 RecyclerView
是否包含 LinearLayout
如下图,你会看到RecyclerView.LayoutManager m
= null 但异常仍然抛出
RecyclerView.LayoutManager m = recyclerView.getLayoutManager();
if(recyclerView.getLayoutManager() != null){
return;
}
try {
recyclerView.setLayoutManager(layoutManager);
}catch (Exception e){
Log.e("AA", "setRecyclerViewLayoutManager: ", e);
}
我不知道为什么会这样。如何防止为我的 RecyclerView
设置新的 LinearLayoutManager
?
这是日志
java.lang.IllegalArgumentException: LayoutManager android.support.v7.widget.LinearLayoutManager@116d9b78 is already attached to a RecyclerView: android.support.v7.widget.RecyclerView{1cbedba4 VFED.... .......D 0,0-1080,1181 #7f0d00b6 app:id/recycler_news}
at android.support.v7.widget.RecyclerView.setLayoutManager(RecyclerView.java:1087)
at com.toong.map.utils.BindingUtils.setRecyclerViewLayoutManager(BindingUtils.java:76)
at com.toong.map.databinding.FragmentNewsBaseBinding.executeBindings(FragmentNewsBaseBinding.java:191)
at android.databinding.ViewDataBinding.executePendingBindings(ViewDataBinding.java:355)
at android.databinding.ViewDataBinding$6.run(ViewDataBinding.java:172)
at android.databinding.ViewDataBinding$7.doFrame(ViewDataBinding.java:238)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:765)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:549)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
最佳答案
我找到了我的问题的解决方案。
原因是我的 LayoutManager
是一个单例对象(因为我使用 Dagger
来 Inject
它)。我将它设置为 RecyclerView
然后当 View
刷新时 => RecyclerView
将刷新并且我仍然设置此 LayoutManager
对于 RecyclerView
会抛出错误
=> 解决方案是不要将 LayoutManager
创建为单例 Object
关于android - 非法参数异常 : LinearLayoutManager is already attached to a RecyclerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40784158/
我正在尝试制作类似于 Instagram 过滤器布局的布局。基本上,当您选择一个过滤器时,它会滚动到您选择的项目 + 1,向您显示还有更多过滤器。 我目前正在尝试为我的水平 RecyclerView
在 GridLayoutManager 中,我能够设置跨度计数,这使得 View 内的项目可以调整大小,以便能够水平适应该跨度计数。 我有一个 LinearLayoutManager,我想以同样的方式
我有一个在 fragment 中实现的 RecyclerView,我正在尝试向代码中添加分隔符。我让 RecylcerView 按预期工作,但 LinearLayoutManager 无法解析 get
我需要修改与 RecyclerView 一起使用的垂直 LinearLayoutManager 以便它可以水平滚动。 当 RecyclerView 垂直滚动时,它会添加新项目,因为我正在扩展 Line
我的 Activity 正在显示一个带有 LinearLayoutManager 的 RecyclerView。我想获取列表中的第一项 (View)。根据this post's accepted an
我正在尝试做这样的事情: RecyclerAdapter recyclerAdapter; LinearLayoutManager recyclerManager; //set items.... r
我的 LinearLayoutManager 有一个错误,当我运行这段代码时它说 error: incompatible types: NotificationFragment cannot be c
我想将 RecyclerView 滚动到某个位置,我使用 LinearLayoutManager.scrollToPositionWithOffset() 滚动,但它不起作用。谁能帮帮我? 我的代码:
我开始使用 Kotlin 构建一个电影数据库应用程序,这是基于我在网上找到的教程(详见 this link。在构建电影 fragment 文件时,我注意到一个“未解析的引用:LinearLayoutM
我想要一个顶部有标题的 ListView 样式的 RecyclerView,并且我不希望标题 View 被回收,永远。 我对 RecyclerView 和 LinearLayoutManager 是全
我正在尝试新的 RecyclerView 结合 LayoutManager 和 LinearLayoutManager 的标准实现。我的目标是让 LayoutManager 在设备处于纵向时水平绘制我
我正在使用 RecyclerView 和相应的 LinearLayoutManager。我在我的应用程序的一部分中添加了一些自定义滚动功能,我将在其中翻译自定义 header 对象以及根据此项目建模的
我基本上是在尝试实现这个设计原则(from Google's Material Design): 因此,我创建了一个带有 LinearLayoutManager 的父级 RecyclerView,然后
除了这两个,我可以从 Android 库中导入其他所有内容。我正在尝试从 android.support.v7.widget 导入它们,但这不起作用,但是从 android.support.v4.wi
这似乎是一个简单的解决方案,但似乎设置 private RecyclerView mRecyclerView; private RecyclerView.Adapter mAdapter; priva
目前我正在使用以下代码来检查是否应该启用 SwipeRefreshLayout。 private void laySwipeToggle() { if (mRecyclerView.getCh
我有一个项目列表。这些项目按日期排序。日期早于现在的项目(“旧”项目)在用户打开应用程序时不应该可见,但用户应该能够通过将列表滚动到顶部来查看它们。 我找到第一个带有 future 日期的项目("ne
IllegalArgumentException: LinearLayoutManager is already attached to a RecyclerView 当我尝试为我的 Recycler
我有一个 fragment ,其中有 RecyclerView 和 LinearLayoutManager,其中有 CardView 项。单击项目应滚动到顶部有一个 float 操作按钮。我已经尝试使
是否可以与 RecyclerView 中的项目重叠? 我正在尝试使用 LinearLayoutManager。 我的要求与 LinearLayoutManager 中的要求相同,只需将内部的项目从上到
我是一名优秀的程序员,十分优秀!