【问题标题】:How in RecyclerView perform scroll item with some position to top?RecyclerView 如何在某个位置执行滚动项到顶部?
【发布时间】:2019-07-08 11:36:04
【问题描述】:

我有 recyclerview,里面有 LinearLayoutManager 和 reverseLayout=true。如何将某个位置的项目滚动到屏幕顶部?常规的recyclerView.scrollToPositionlayoutManager.scrollToPosition 不起作用,因为以这种方式滚动的项目显示在列表底部和屏幕下方。

【问题讨论】:

    标签: java android kotlin android-recyclerview


    【解决方案1】:

    recyclerView.layoutManager.scrollToPosition(0)

    在您的问题中,您没有引用 recyclerview 的 layoutmanager,而是分别引用了 recylcerviewlayoutmanager

    请多多联系recylcerview.layoutmanager

    【讨论】:

    • 如果您在答案中添加进一步的解释,这将对读者有所帮助,以便与其他解决方案选择相比,他们可以看到您的答案中的价值。使用edit 改进您的答案。
    • 已编辑答案,我深表歉意
    • 感谢您的回答,但是如果您将 layoutManager 附加到 recyclerView 我看不出通过 recyclerView 的对象或本身从 layoutManager 调用滚动之间的区别,因为它是相同的 layoutManagers
    【解决方案2】:

    试试这个

    recyclerView.scrollToPosition(recyclerView.getChildCount());
    

    recyclerView.scrollToPosition(list.size());
    

    编辑

    在您的适配器中,您可以检查您当前的位置,如果您到达所需的位置,您可以使用界面将 recyclerView 滚动到微粒位置

    【讨论】:

    • 我不需要最后一项显示在顶部。例如,我在列表中有 40 个项目。我需要的是当我滚动到 20 个元素时,它将滚动到顶部。
    • 我该怎么做?
    【解决方案3】:

    使用这个:-

    linearLayoutManager!!.scrollToPositionWithOffset(0, 0)

    【讨论】:

    • 感谢您的回答,但它的方法也将项目滚动到底部边缘
    猜你喜欢
    • 2020-05-17
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 2017-06-13
    • 1970-01-01
    相关资源
    最近更新 更多