问题标签 [linearlayoutmanager]

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 回答
5443 浏览

android - layoutmanager.FindFirstCompletelyVisibleItemPosition 总是返回 -1

我的 android 项目中有一个 recyclerview,它在每个视图中显示媒体内容。我想要实现的是我能够在上下滚动时播放/暂停媒体。我需要获取完全可见视图的适配器位置。我正在做这样的事情。

在我的活动片段中,我有这个:

滚动侦听器事件如下所示:

问题是FindFirstCompletelyVisibleItemPosition即使视图完全可见,线性布局管理器方法也总是返回 -1。其他方法喜欢FindFirstVisibleItemPositionFindLastVisibleItemPosition给出视图的正确位置。

知道这里可能是什么问题吗?

0 投票
2 回答
14910 浏览

android - RecyclerView:设置滚动位置,使项目出现在视图底部

我有一个RecyclerView带有一个带有不同高度LinearLayoutManager项目的适配器支持的。有没有办法告诉设置滚动位置,以便项目 X (或多或少)准确地出现在屏幕底部?RecyclerView

我试过LinearLayoutManager.scrollToPosition()了,但这会将项目定位在视图的顶部。

0 投票
1 回答
776 浏览

android - 将支持库更新到 23.3.0 后,Android 自定义线性布局管理器返回 0 项计数

将 android 设计和支持库更新到 23.3.0 后,自定义线性布局管理器抛出此异常:

在此行中出现错误:

这是RecyclerView我绑定此布局管理器的代码:

早期使用支持库版本 23.1.0,它工作正常,但更新后抛出错误。另外我需要将其更新到 23.3.0,因为我无法NavigationView在 23.1.0 设计库中添加。它在 xml 文件中引发以下错误:

以及运行时出现以下错误:

请指导我如何解决这个问题!

0 投票
4 回答
2048 浏览

android - 添加到 RecyclerView 的项目未显示在底部

我有一个RecyclerView我用来以文本应用程序类型的方式显示消息的方法。我的意思是,添加到的新消息RecyclerView应该出现在底部。

目前,我正在使用.setStackFromEnd(true)LinearLayoutManager的消息从底部开始显示:

发生的情况是,当收到足够多的消息并且消息列表即将溢出屏幕顶部时,它会停止始终在底部显示新消息。我必须手动向下滚动才能看到新增内容。

如何让它始终可以查看最新消息或在RecyclerView收到新项目时向下滚动?

我在我的布局管理器上尝试了各种方法.scrollToPosition().scrollToPositionWithOffset()但到目前为止我看到的所有建议都没有奏效。关于该问题的一些顶级 StackOverflow 问题的最佳答案甚至无法解决原始问题。

那么这是怎么做到的呢?

0 投票
1 回答
999 浏览

android - 向下滚动然后再次向上滚动后,recyclerview 项目之间出现间隙。请查看详情

我有一个RecyclerView我正在从数据库中加载一些项目。

问题是我再次向下和向上滚动后项目之间出现了一些间隙。然后差距一直存在,直到我重新启动应用程序。像这样:

在此处输入图像描述

这是我在 xml 布局中设置 recyclerview 的方法:

这是我在MainActivity.java文件中设置它的方式:

这是适配器:

这里有什么问题?

请告诉我。

0 投票
1 回答
88 浏览

android - RecyclerView的SaveInstanceState

这是我的数据

这是我在 OnCreate 方法中的回收站视图

我如何使用 onSaveInstanceState 和 onRestoreInstanceState 来保存我的数据列表,这样就不会轮流消失?

0 投票
2 回答
1108 浏览

android - 检查 RecyclerView 是否需要滚动

我有一个回调,它是通过编程滚动到 RecyclerView 的某个项目后触发的LinearLayoutManager.smoothScrollToPosition()。用户点击一个项目,右边的项目滚动到 RecyclerView 的顶部。我对 LinearLayoutManager 进行了子类化,以使其始终捕捉到项目的顶部。
这在触发滚动事件的情况下有效,但是当 RecyclerView 已经在正确的位置时,我没有收到onScrollStateChanged回调,因为没有发生滚动。有没有办法得到那个事件?比如事先决定 RecyclerView 是否需要滚动?

0 投票
1 回答
221 浏览

android - 如何从线性布局管理器访问新添加的视图

我正在制作一个聊天应用程序。我有一个扩展 LinearLayoutManager 的布局管理器,我想计算添加到适配器的视图的高度,以便当我调用 smoothScrollToPosition() 时,我可以更改滚动速度。

对于更高的高度,我会将 MILLISECONDS_PER_INCH 设置为较小的值,对于较小的高度,我会将其设置为大。

但我无法计算新添加视图的高度。

}

0 投票
2 回答
905 浏览

android - RecyclerView 拦截滚动并停止滚动超出特定位置

我是安卓新手。我有一个设置为启用水平滚动的 LinearLayoutmanager 的 recyclerview。我希望用户不要滚动超出可以动态更改的某个点。

我将举一个例子来描述它。假设有一个教程应用程序,它在章节末尾向用户提出 5 个问题。假设这 5 个问题是在回收者视图中提出的。

用户不应该能够滚动超出第一个未完成的问题。因此,如果用户已完成前 2 个问题,则 recyclerview 不应允许滚动超过第三个问题,尽管用户可以滚动回第一个和第二个已完成的问题。

0 投票
5 回答
33384 浏览

android - RecyclerView 平滑滚动到中心位置。安卓

我正在为我的RecyclerView. 我需要以RecyclerView另一种方式制作:当单击某个项目时 - 使 smoothScrool 到该位置并将该项目放在中心RecyclerView(如果可能,例如,20 个项目中的 10 个项目)。

所以,我对 没有问题smoothScrollToPosition(),但是如何将项目放在RecyclerView???的中心

谢谢!