【问题标题】:How to programmatically scroll to the bottom of a Recycler View? [duplicate]如何以编程方式滚动到回收站视图的底部? [复制]
【发布时间】:2016-05-26 23:45:31
【问题描述】:

我想通过单击按钮滚动到回收站视图的底部,我该怎么做?

【问题讨论】:

    标签: android android-layout android-recyclerview


    【解决方案1】:

    为此,您必须使用LayoutManager。请按照以下步骤操作。

    1). 首先,在您的Activity/Fragment 中声明LayoutManager。比如我拍了LinearLayoutManager

    private LinearLayoutManager mLinearLayoutManager;
    

    2).初始化LinearLayoutManager并将其设置为您的RecyclerView

    mLinearLayoutManager = new LinearLayoutManager(this);
    recyclerView.setLayoutManager(mLinearLayoutManager);
    

    3)。在您的Button onClick 上,执行此操作以滚动到您的RecyclerView 底部。

    mLinearLayoutManager.scrollToPosition(yourList.size() - 1); // yourList is the ArrayList that you are passing to your RecyclerView Adapter.
    

    希望这会有所帮助..!!

    【讨论】:

    • 3) 应该是mLLinearLayoutManager.scrollToPosition(yourList.size() - 1);
    • 如果回收视图元素很大(例如图像),此显示仅在项目开始。所以这不是真正的滚动到底部(在此之后我仍然可以手动滚动更多)
    • @Alex 不工作!列表项中的图像是什么原因?
    • @ArnoldBrown 否。问题是 scrollToPosition() 滚动到最后一个元素的顶部。并且需要滚动到最后一个元素的底部。
    【解决方案2】:

    您可以将scrollToPosition() 与最后位置的索引一起使用。

    【讨论】:

    • 基于文档,“RecyclerView 没有实现滚动逻辑,而是将调用转发到 scrollToPosition(int)”。它没有实现逻辑,只是调用这个函数什么都不做。
    • 我很抱歉,再看一遍,它有效。
    • 与上一个答案相同 - 如果回收视图元素很大(例如图像),则此节目仅在项目开始时才开始。所以这不是真正的滚动到底部(在此之后我仍然可以手动滚动更多)
    • 这不起作用。列表项中的图像是什么原因?
    猜你喜欢
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 2010-10-31
    • 2011-12-22
    • 2015-07-21
    • 1970-01-01
    相关资源
    最近更新 更多