반응형
안드로이드 리사이클러 뷰를 사용하다 보면 스크롤 중인 상태를 저장하는 방법에 대해서 고민을 안할 수 가 없다. 고민끝에 position 값을 저장해 두었다가 scrollToPosition으로 맞춰볼까 했지만 너무 인위적인 방법인거 같다는 지울 수 없었다.
그렇게 찾다가 발견한 방법!! onSaveInstanceState를 이용하여 상태를 저장하는 방법을 사용해 보기로 했다.
1. 리사이클러 뷰 상태 저장
Parcelable recyclerViewState;
recyclerViewState = recyclerView.getLayoutManager().onSaveInstanceState();
LayoutManager를 불러와 Parcelable 변수에 상태를 Bundle형태롤 저장해 놓기!!
2. 리사이클러 뷰 상태 불러오기
if(recyclerViewState != null)
recyclerView.getLayoutManager().onRestoreInstanceState(recyclerViewState);
이런 식으로 불러오면 스크롤 상태가 저장되는 것을 확인 할 수 있다.
Fragment간의 이동에서 상태를 저장, 하위 Activity에서의 상태 저장 등 다양한 상황에서 사용이 가능할 것 같다.
마지막으로 Android Developer에서 제공해주는 레퍼런스 URL
반응형
'Android' 카테고리의 다른 글
[Android] 안드로이드 뒤로가기 종료 (0) | 2016.11.15 |
---|---|
[Android] 안드로이드 폴더 내 파일 리스트 가져오기 (0) | 2016.11.14 |
[Android] android GridView Auto-Column Span (0) | 2016.11.08 |
[Android] 안드로이드 Toolbar menu 버튼 만들기 (0) | 2016.11.07 |
[Android] 안드로이드 커스텀 네비게이션 드로어 만들기(Custom Navigation Drawer) (0) | 2016.11.03 |