RecyclerView滚动到一个位置

时间:2019-03-04 02:39:59

标签: android android-recyclerview

我有一个测验布局,其中我使用recyclerview来显示问题。我在LinearLayoutManager适配器上使用recyclerview。我需要的是,只要用户从给定的问题中选择一个选项,下一个问题就应向上滚动到一个位置(到布局的顶部)。我尝试使用不同的方法来实现此目的,但是问题是发生了滚动,但滚动没有到达布局的顶部。它以这种方式滚动,使问题和选项在布局屏幕中完全可见,但在下部没有显示在顶部。简短的代码段

 recyclerView = view.findViewById(R.id.recyclerView);
     mLayoutManager = new LinearLayoutManager(context);
 recyclerView.scrollToPosition(Qno+1);
//        recyclerView.getLayoutManager().smoothScrollToPosition(recyclerView, new RecyclerView.State(), (Qno+1));

我尝试了scrolltoposition和smoothscrolltoposition,但是得到的结果是相同的。 附上屏幕截图以获得更好的解释。 点击Q.5中的任何选项后,我会得到什么 enter image description here

这是我期望的,将Q.6加载到布局的顶部。 enter image description here

1 个答案:

答案 0 :(得分:0)

我想您有一个问题列表(java或Kotlin对象),并且想滚动到位置= 20(Qno = 20)的Item。然后,您需要使用我在下面添加的代码段:

recyclerView.scrollToPosition(questions.indexOf(question))

enter image description here