안드로이드

[안드로이드] 탭 이동시 recyclerview 자동 스크롤 막는 법(prevent nested recyclerview from automatically repositioning)

wangkisa 2017. 1. 11. 14:22

 개발 하면서 탭 두개가 들어가는 FragmentStatePagerAdapter 를 이용해

두 개의 fragment 가 있고 그 안에 recyclerview 를 활용하는 화면을 만들었는데


 그 recyclerview 안에 또 하나의 vertical recyclerview 가 있어서 


 일반적인 LinearLayoutManager 를 이용하니 자동으로 크기를 잡아줘서 화면에 나오는 것은 문제가 없었다. 이것은  Android Support Library의 버전이 23.2.0 이 나오면서 바뀐 점 중에 하나가 RecyclerView.LayoutManager에 AutoMeasure 라는 기능이 포함되면서 자동으로 높이값을 잡아준다고 한다.


  그래서 화면은 나왔지만, 문제는 다른 탭으로 이동하게 되면 

recyclerview에 포함된 recyclerview까지 자동으로 스크롤하는 문제가 있어서

몇 일을 찾는 중에 


상위 recyclerview 혹은 바깥 레이아웃에 


android:descendantFocusability="blocksDescendants"


라는 옵션을 주면 해결됩니다.