问题标签 [recyclerview-layout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2681 浏览

android - RecyclerView 每次都无法正确显示数据

在 recyclerview 中,有时它会显示第一次执行时的输出,有时会显示第二次或第三次的输出......最糟糕的是,有时它根本不显示任何数据。我从中获取数据的链接工作正常。有人可以告诉我我在哪里犯错误。我已经看到有关此问题的其他答案,但对我不起作用!

这是适配器代码

这是我的 JSON 类

这是我在其中显示数据的活动代码

这是我正在使用的 XML 布局

有几个活动使用相同的模式......有时,它显示所描述的数据,而在其他时候,它没有。任何帮助将不胜感激。

编辑:使用 recyclerViewAdapter.notifyDataSetChanged() 后,我得到了 NPE。关于如何获得这种方法的任何建议。

添加 notifyDataSetChanged() 后完成的 LogCat 是:

致命异常:AsyncTask #1 进程:admin.myproject,PID:27693 java.lang.RuntimeException:在 java.util 的 android.os.AsyncTask$3.done(AsyncTask.java:309) 处执行 doInBackground() 时发生错误。 concurrent.FutureTask.finishCompletion(FutureTask.java:354) 在 java.util.concurrent.FutureTask.setException(FutureTask.java:223) 在 java.util.concurrent.FutureTask.run(FutureTask.java:242) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818) 原因:java.lang.NullPointerException:尝试调用虚拟方法 'void admin.myproject.RecyclerViewAdapter.notifyDataSetChanged()'在 admin.myproject.JSONAsync.doInBackground(JSONAsync.java:40) 的 admin.myproject.JSONAsync.doInBackground(JSONAsync.java:23) 的 admin.myproject.JSONAsync.downloadUrl(JSONAsync.java:76) 的空对象引用上在 android.os.AsyncTask$2.call(AsyncTask.java:295) 在 java.util.concurrent.FutureTask.run(FutureTask.java:237) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 在 java.lang.Thread.run(Thread.java :818) 

0 投票
0 回答
567 浏览

android - 自定义垂直线无法在 RecyclerView 中显示

我想通过每个列表项创建 recyclerview 具有该自定义的垂直行。

但是我创建列表项然后行不显示。

custom_line

line_story_view.xml

项目清单

图片示例

在此处输入图像描述

当我在我的 recyclerview 中使用时,它没有显示线。

谢谢你,对不起英语不好。

0 投票
2 回答
3881 浏览

android - 卡片视图之间的距离太大

我正在使用带有回收器视图的cardview。但早些时候我使用相同的代码来做事情没有任何问题。但现在我正在使用片段。现在我发现卡片视图之间的距离更大了。我的回收站视图适配器

我的卡片视图

错误 在此处输入图像描述

0 投票
0 回答
2124 浏览

android - Recycler View 创建重复项

我正在使用 Recycler View 创建项目列表,并且我在列表中获得了重复的项目。我已将 30 大小的列表传递给 Recycler View Adapter。创建的列表有 30 个项目,但只有 3 个唯一项目,所有其他都是 3 个唯一项目的重复。我无法找到错误。

0 投票
0 回答
420 浏览

android - RecyclerView 最后一项出现了奇怪的动画

我的RecyclerView单个 item 有两个视图,两个RelativeLayouts,在某些时候我正在翻转两个视图RelativeLayouts,我正在旋转LayoutAfrom0 to 180度数,同时我也在旋转LayoutBfrom -180 to 0,所以会有一种翻转的感觉。它工作得很好,但是当屏幕上没有空间时(例如:对于 的最后一项RecyclerView),我会得到奇怪的效果,在开始这个翻转之前动画 LayoutB(最初是隐藏的)展开并隐藏然后动画开始

转出

翻转

适配器代码

尽管我没有对scrollToPosition方法进行任何调用,但 logcat 会反复打印

日志猫

有什么解决办法吗?

0 投票
1 回答
984 浏览

android - 滚动时如何扩展 RecyclerView Item 之间的空间

如何recyclerview在滚动时扩展项目之间的空间,如下所示。我尝试在onBindViewHolder方法中添加自定义动画,但此解决方案无法按我的意愿工作。它看起来像一些动画添加到RecyclerView.OnScrollListener.onScrolled方法。任何想法?谢谢。

自定义动画

0 投票
1 回答
2360 浏览

android - 更好的做法:重用 RecyclerViewAdapter 或为每个单独的实例?

我在一张幻灯片上有片段“传入” viewpager。此片段包含一个RecyclerView填充有custom-relative-layouts. LinearLayoutManager方向是垂直的。

我在上述查看器的下一张幻灯片上有第二个片段“查找”。“查找”将由两个回收站视图组成。它将Horizontal recyclerview充满cardviews(快速加载个人资料图片)。在此之下,我正在更慢地加载另一个recyclerview,与custom-relative-layout“传入”片段中的相同。

那有意义吗?我再详细说明一下:

问题是对于这三个recyclerview,我应该RecyclerAdapter为每一个声明一个新的吗?我问的原因是他们都有未知的变量 item_counts。

这是我用于“传入”的 RecyclerAdapter:

对于我的标准,我应该为我创建另一个适配器horizontal-cardview-recyclerview吗?这似乎是重复的,但除此之外,我将如何处理充气cardviewitem_layout_incoming

似乎应该有一种干燥的方式来做到这一点,而不会影响性能。谢谢

0 投票
1 回答
4080 浏览

android - 在回收站视图中添加新项目显示位置顶部

如果我将新项目添加到愿望清单 RecyclerView 只能添加到最后一行,但我想显示在 RecyclerView 的第 0 个位置的顶部。我试图显示 RecyclerView 的第一个位置,但它不能很好地锻炼。

代码

0 投票
1 回答
331 浏览

android - Android Support Repository 23.2.1 RecyclerView 错误

更新我的支持库 23.2.1 后,我遇到了一个问题。即使我没有更改任何代码库更新,我的 recyclerview 项目也没有显示。仅显示第一项,其他未显示。我不知道为什么它不显示所有元素。有没有人遇到这个问题以及如何解决它?

库更新前

图书馆更新后

注意:不幸的是,我无法将 IDE Eclipse 更改为 Android Studio。

0 投票
1 回答
3000 浏览

java - RecyclerView 项目在刷新后改变大小

我有一个RecyclerView如下图所示:

回收站视图

这是此设置代码RecyclerView

在开始更新 RecyclerView 的选定项目的新活动后,RecyclerView 将重新填充新数据以反映新更改,但我得到以下结果:

结果 1

当我向下滚动时,我得到了这个差距:

结果 2

刷新后我尝试调用RecyclerView#invalidate(), #invalidateItemDecorations()#requestLayout()但无济于事;&我也没有打电话setHasFixedSize(true)RecyclerView.

究竟是什么问题?如何调整子项的大小,以便它们在刷新后精确地包装内容?

(PS:我尝试在不进行任何更改的情况下进行刷新,但什么也没发生,这证明了我的理论,即只有当子项目的高度发生变化时才会出现问题。)