我已经用过:
mRecyclerView.getLayoutManager().scrollToPosition(0);
以编程方式滚动
RecyclerView
和LinearLayoutManager
。我试图对带有
RecyclerView
的GridLayoutManager
执行相同的操作。问题在于,scrollToPosition并没有真正意义,因为项目可以位于一行的中间。
无论如何,我尝试了该代码,但是它什么也没做。
有没有办法以编程方式滚动
RecyclerView
和GridLayoutManager
? 最佳答案
其实:
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);
}
}
});