当前位置: 首页 > 知识库问答 >
问题:

根据另一个RecyclerView项目位置滚动RecyclerViewer

祁嘉言
2023-03-14

我在屏幕顶部有一个包含标题的水平recycle view(类别recycle view ),在它下面有另一个包含标题的垂直recycle view(类别项目)和包含每个标题项目的子recycle view。

我需要根据垂直回收视图(分类项目)中最后显示的标题,使水平回收视图(类别回收视图)滚动到特定标题。

共有1个答案

段晨
2023-03-14

使用 LinearLayoutManager.findLastVisibleItemPosition() 和 LinearLayoutManager.scrollToPosition()

像这样的东西:

fun myFunction() {
    val lastDisplayedTitleIndex = verticalLinearLayoutManager.findLastVisibleItemPosition()
    val horizontalItemIndex = figureOutHorizontalItemIndexFromLastVerticalVisibleItemIndex(lastDisplayedTitleIndex)
    horizontalLinearLayoutManager.scrollToPosition(horizontalItemIndex)
}

private fun figureOutHorizontalItemIndexFromLastVerticalVisibleItemIndex(index: Int) {
    // YOUR LOGIC HERE
}

希望有帮助!

 类似资料:
  • 问题内容: 我的目标是每当文件滚动到此滚动文件时,该文件也会移动到另一个目录,因此在原始目录中始终只有。这可能使用吗?还是默认库中的另一个appender ? 问题答案: 我想你的意思是来自Log4J 如果您使用版本> = 1.2.16和log4j-extras,则可以使用此版本 重要的是 但是您必须确保该文件夹(在此示例中存在

  • 我必须滚动到recyclerview中的特定项目。 首先,我需要通过匹配从活动传递给适配器的字符串来获取项的位置。然后聚焦到该项目的位置。 例如,在适配器中有一个存储了EventID的TextView,我将把一个字符串从activity传递给适配器,使其与EventID匹配,然后获取该项目的位置,并将焦点/滚动设置到该特定位置。我在适配器中定义了一个方法来获取项的位置,但我不知道如何从活动中调用它

  • 我有两个带枢轴的矩形, 我需要根据红色矩形的旋转来附加绿色矩形的位置 结果应该如图所示: 我尝试了不同的公式,但没有成功 红色矩形: 绿色矩形: 我尝试了这样的方法: 非常感谢所有帮助过我的人!

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

  • 我在我的应用程序中使用带有的。因为我已经从加载了,并且在后台调用服务之后,尝试通过

  • 如何刷新显示在中的数据(在其适配器上调用),并确保滚动位置被重置到它原来的位置? 如果是良好的ol'则只需检索,检查其,然后使用相同的精确数据调用。 在的情况下,这似乎是不可能的。 我想我应该使用它的,它确实提供了,但是检索位置和偏移量的正确方法是什么? 和? 还是有更优雅的方法来完成这项工作?