1

I have a list of images in a recycler view with a Horizontal Linear Layout. I want to programmatically scroll to say position = 20, while the image at that position is not in view. I have tried using:

recyclerView.scrollToPosition(position);

but this only scrolls if the item is in view. I have also tried using smoothScrollBy(x,y) and getLayoutManager().scrollToPosition(position) but it doesn't work.

Iffat Fatima
  • 1,610
  • 2
  • 16
  • 27

2 Answers2

2

Use below code:

yourRecyclerViewObject.getLayoutManager().scrollToPosition(itemPosition);
Dr.jacky
  • 3,341
  • 6
  • 53
  • 91
1

I had this same issue and using delay worked for me

recyclerView.postDelayed(new Runnable(){
   @Override
   public void run(){
      recyclerView.scrollToPosition(position);
   }
},300);
Rajan Kali
  • 12,627
  • 3
  • 25
  • 37