问题标签 [nestedrecyclerview]

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 投票
1 回答
746 浏览

kotlin - 如何在不丢失动画/初始化新适配器的情况下更新嵌套子 RecyclerView 中的数据?

我有一个ParentData结构如下的类:

我正在使用列表填充父 RecylerView,ParentData然后使用嵌入的父 RecylerView 适配器(ListAdapter)填充每个嵌套的子 RecyclerView,List<ChildData>如下onBindViewHolder所示:

我观察到 a LiveData<List<ParentData>>,所以每次嵌入ChildData更改时,我都会将新的提交List<ParentData>给我的父回收器,后者又会调用OnBindViewHolder并提交新的 `childList' 并更新内部子 RecyclerView。

val mAdapter = ChildAdapter()每次更新数据时都会调用该问题,重置整个子 RecyclerView。这导致看不到任何项目添加动画并且滚动位置被重置。

有什么方法可以避免每次都初始化一个新的适配器,或者我可以通过其他方式避免重置子 RecyclerViews?

0 投票
2 回答
644 浏览

android - 将 recyclerview 项目滚动到滚动视图的顶部

当用户单击某个项目时,我正在尝试将回收站视图项目滚动到屏幕顶部。

我的布局设置如下

我想要实现的是当我点击一个 recyclerview 项目时。它应该向上滚动到屏幕顶部。

到目前为止,我已经尝试过,但没有运气。

任何帮助表示赞赏。谢谢

0 投票
1 回答
745 浏览

android - 嵌套水平 RecyclerView

我想创建一个嵌套的 RecyclerView,如果父 RV 是具有 > 3 个项目的水平布局管理器,并且子项也是 horzinotl,但我无法滚动子项,它仅指示父项手势。

父布局管理器

子布局管理器

XML - 父级

XML - 父项

XML - 孩子

结果示例

例子

0 投票
2 回答
1169 浏览

android - smoothScrollToPosition 在嵌套的 RecyclerView 中不起作用

我有一个 recyclerView,它的每个项目都是一个 recyclerView。我想在特定条件下滚动到内部 recyclerView 的自定义位置。我在 innerRecyclerView 使用了这段代码,但它没有用:

和这个:

和这个:

现在我有两个问题:

1)是否可以滚动到内部recyclerView的自定义位置?

2)如果可能的话,怎么做?

这里是初始化主recyclerView:

这里是初始化innerRecyclerview:

这是我的主要 recyclerView 适配器:

下面是 mainRecyclerView 每一行的布局:

0 投票
1 回答
1328 浏览

android - 嵌套的 RecyclerView onClick 未触发

我有两个嵌套的 RecyclerViews - 基本上是一个水平 RecyclerViews 列表,我正在努力使水平 RecyclerView 中的项目可点击。

这是主要布局

然后 RecyclerView 有如下项目布局:

我正在尝试在内部 RecyclerView 的适配器中获取 onclick 设置,如下所示:

我尝试过以编程方式和 XML 将 ViewHolder 的 itemview 设置为可点击,但它似乎没有什么不同。内部 RecyclerView 也是如此。

知道我做错了什么吗?

编辑:添加了父 RecyclerView 适配器

0 投票
1 回答
525 浏览

java - 具有水平滚动的嵌套 RecyclerView

我正在尝试RecyclerView用 3 层实现嵌套的 s。第一个RecyclerView(父)视图设置为垂直滚动。第二个RecyclerView(第一个的子)视图设置为水平滚动。第三个RecyclerView(第二个的子)视图也设置为水平滚动。

可视化:

->RecyclerView垂直滚动
-->RecyclerView水平滚动
--->RecyclerView水平滚动

现在,问题是我不能让第三个水平 RecyclerView 水平滚动。我认为问题是设备优先考虑 2nd 的水平滚动RecyclerView

你能帮我解决这个问题吗?

这是第一个垂直滚动布局的代码片段:

这是第二个水平滚动的:

这是最后一个水平滚动的:

我已经尝试在第三个被触摸时拦截触摸onIntercept...()以取消第二个的滚动。RecyclerView

0 投票
1 回答
4005 浏览

android - 该视图不是 CoordinatorLayout 的子视图

我收到 java.lang.RuntimeException: Unable to start activity java.lang.IllegalArgumentException: View is not a child of CoordinatorLayout.working with bottom sheet,我尝试了很多组合,但我仍然没有得到解决方案。请告诉我任何解决方案。提前谢谢你。

当我尝试运行此行时出现异常

0 投票
0 回答
670 浏览

android - 在嵌套的 RecyclerView 中调用无限的分页库 loadAfter 方法

我有一个呈现项目列表的 RecyclerView (ParentRV)。每个子项 (ViewHolder) 都是一个 RecyclerView (ChildRV),它呈现一个项列表。

然后我实现了分页库来为 ChildRV 加载数据。问题是,在我将 loadInitial() 方法返回的结果更新到 PagedListAdapter 之后,分页库的 DataSource 不断调用 loadAfter() 方法。

请提供任何帮助!这是 ParentRV 和 ChildRV 的布局。

parent_layout.xml

child_layout.xml

0 投票
1 回答
280 浏览

android - 嵌套的回收器视图无法显示两个独立的列表

我有一个垂直聊天recycler-view,我试图显示多个水平recycler-view's,其中包含一个“ carousel”的卡片视图。我可以膨胀水平视图,但是当我尝试在父视图中添加两个相同类型的水平视图作为独立项目时,我要么将新数据添加到原始数据中,然后显示两次,要么清除旧数组新数据替换 中的旧数据,recycler-view并且不添加第二个数据。

我不确定这是否是由于我没有为每个水平视图生成单独的适配器或某些阵列问题。

adapter这一代,在onBindViewHolder父回收者视图中调用:

将数据调用到子回收器视图:

子适配器:

任何关于我如何确保每次添加一组新的轮播数据时都会将其添加为父视图中的独立项目的想法将不胜感激。

0 投票
2 回答
3078 浏览

android - Android如何与片段中的嵌套recyclerView交互

如何正确地将数据发送给adapter孩子fragment?我基本上是在尝试实现类似 Instagram 的评论部分,例如一堆评论,每个评论可以有更多评论(回复)。

为此,我使用一个main recyclerView+ main adapter,这些实例保留在我的片段中,并在主适配器中绑定子注释 ( recyclerView+ adapter)。

向主适配器添加注释很容易,因为该对象始终在片段中可用,所以我只需调用mainAdapter.addComments(newComments)

主适配器

但是如何调用addComments一个特定的嵌套 rV?我读到我不应该保存适配器实例而只使用位置。我正在尝试在我的 Fragment 中执行以下操作:

但这并不能很好地工作:因为我们只有 RecyclerViews,如果用户在发布或获取项目后滚动,则该特定 ViewHolder 通常已经被回收,这会导致 NullPointerException。因此,第一个问题是:如何与嵌套的 recyclerviews 及其适配器正确交互?如果答案是通过接口,请提供一个示例,因为我尝试过但没有成功,因为我不应该保存适配器对象。