Android滚动到Recylerview的位置不起作用

时间:2016-03-18 10:43:03

标签: android-recyclerview

我想将RecyclerView滚动到某个位置,然后使用LinearLayoutManager.scrollToPositionWithOffset()进行滚动。

但它不起作用。有谁可以帮助我?

2 个答案:

答案 0 :(得分:1)

RecyclerView rv = findViewById(R.id.recycler_view);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
rv.setLayoutLayoutManager(layoutManager);
layoutManager.smoothScrollToPosition(position);

使用与特定RecyclerView一起使用的LayoutManager,可以将RecyclerView滚动到某个项目位置。 Plz参考上面的代码

答案 1 :(得分:0)

如果您的列表中没有很多项目,您可以使用 LinearSmoothScroller

val smoothScroller = object : LinearSmoothScroller(activity) {
            override fun getVerticalSnapPreference(): Int {
                return SNAP_TO_START
            }
        }

然后当你想滚动时:

     smoothScroller.targetPosition = position // position on which item you want to scroll recycler view
     binding.cardsRecycler.layoutManager?.startSmoothScroll(smoothScroller)