我已经用过:

mRecyclerView.getLayoutManager().scrollToPosition(0);


以编程方式滚动RecyclerViewLinearLayoutManager

我试图对带有RecyclerViewGridLayoutManager执行相同的操作。

问题在于,scrollToPosition并没有真正意义,因为项目可以位于一行的中间。
无论如何,我尝试了该代码,但是它什么也没做。

有没有办法以编程方式滚动RecyclerViewGridLayoutManager

最佳答案

其实:

mRecyclerView.getLayoutManager().scrollToPosition(0);


作品。
就我而言,这不是因为我在方法中同步调用它:

public void onDestroyActionMode(ActionMode mode)

将可运行的消息(没有任何延迟)发布到主线程的循环程序就足够了。

    new Handler(Looper.getMainLooper()).post(new Runnable() {
        @Override
        public void run() {
            if (mRecyclerView != null) {
                mRecyclerView.scrollToPosition(0);
            }
        }
    });

10-07 20:30