2016-02-26 68 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给予? –