如何在android的回收器视图中滚动到特定位置(不在视图中)的项目?
我有一个水平线性布局的回收视图中的图像列表。我想通过编程滚动到position=20,而该位置的图像不在视图中。 我试过使用:如何在android的回收器视图中滚动到特定位置(不在视图中)的项目?,android,Android,我有一个水平线性布局的回收视图中的图像列表。我想通过编程滚动到position=20,而该位置的图像不在视图中。 我试过使用: recyclerView.scrollToPosition(position); 但这仅在项目在视图中时滚动。我也尝试过使用smoothScrollBy(x,y)和getLayoutManager().scrollToPosition(position),但它不起作用 我也有同样的问题,使用延迟对我来说很有效 recyclerView.postDelayed(new
recyclerView.scrollToPosition(position);
但这仅在项目在视图中时滚动。我也尝试过使用
smoothScrollBy(x,y)
和getLayoutManager().scrollToPosition(position)
,但它不起作用 我也有同样的问题,使用延迟对我来说很有效
recyclerView.postDelayed(new Runnable(){
@Override
public void run(){
recyclerView.scrollToPosition(position);
}
},300);
使用以下代码:
yourRecyclerViewObject.getLayoutManager().scrollToPosition(itemPosition);
recyclerView.getLayoutManager().smoothScrollToPosition(recyclerView,null,position);这可能会对你有所帮助:@FlorescuCătălin请阅读我问题的描述,我已经尝试过这个解决方案,但它不起作用。我很确定你在那里做错了什么。我已经在两个方向上测试了该方法,并且正在工作。我的布局是水平的。同样在这种情况下,我不需要保持项目的像素位置,或者我应该计算它的运行时间。