2016-02-26 47 views
3

我試圖以編程方式滾動到的位置在我RecyclerView,這是我試過到現在爲止沒有在我的情況下工作:的Android RecyclerView滾動編程工作不

 musicList.getLayoutManager().smoothScrollToPosition(musicList, null, position); 

     musicList.scrollToPosition(position); 

     mLayoutManager.scrollToPosition(position); 

     musicList.getLayoutManager().scrollToPosition(position); 

有什麼我錯過了?

我有一個LinearLayoutManager mLayoutManager;定義並將其設置爲RecyclerView就象這樣:

mLayoutManager = new LinearLayoutManager(this); 
    musicList.setLayoutManager(mLayoutManager); 

RecyclerView XML: 

<android.support.v7.widget.RecyclerView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/musicList" 
       android:scrollbars="vertical" 
       android:scrollbarThumbVertical="@drawable/custom_scrollbar_vertical"/> 

回答

5

你有沒有試着用LinearLayoutManager方法scrollToPositionWithOffset

//position 2 and second param is offset 20 
mLayoutManager.scrollToPositionWithOffset(2, 20); 

這對我的作品。希望工作,爲你服務!

+1

其實,這對我有效,但我不明白爲什麼我需要一個偏移到這個... –

+0

什麼是需要抵消??爲什麼20給予? –