-1

안녕하세요, 이미지를로드하기 위해 GridLayoutManager와 함께 RecyclerView를 사용하고 있지만 scrollToPositionWithOffset() 메서드가 작동하지 않습니다.Recyclerview GridLayoutManager scrollToPositionWithOffset not working

onSavedInstanceState()에서 recyclerview 첫 번째 표시 항목 위치를 저장하고 onViewStateRestored()에서 해당 값을 검색하고 매번 올바른 위치를 얻지 만 RecyclerView가 원하는 위치로 스크롤하지 않습니다. 화면을 회전하여 확인합니다. 하지만 원하는 위치로 스크롤되지 않습니다.

@Override 
public void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    outState.putInt("position", ((GridLayoutManager) recyclerView.getLayoutManager()).findFirstVisibleItemPosition()); 
} 

@Override 
public void onViewStateRestored(@Nullable Bundle savedInstanceState) { 
    super.onViewStateRestored(savedInstanceState); 
    if (savedInstanceState != null) { 
     int state = savedInstanceState.getInt("position"); 
     ((GridLayoutManager) recyclerView.getLayoutManager()).scrollToPositionWithOffset(state, 20); 
    } 
} 
+0

단지 recyclerviewObject.scrollToPosition (상태)를 사용; –

+0

감사합니다 !! 하지만 난 내 장치 –

+0

작동하지? –

답변

0

사용 smoothScrollToPosition() 대신 scrollToPositionWithOffset()

이 시도 : 여기

내 코드의

@Override 
public void onViewStateRestored(@Nullable Bundle savedInstanceState) { 
    super.onViewStateRestored(savedInstanceState); 
    if (savedInstanceState != null) { 
     int state = savedInstanceState.getInt("position"); 
     recyclerView.smoothScrollToPosition(state); 
    } 
}