2016년 8월 1일 월요일

FragmentPagerAdapter, FragmentStatePagerAdapter

소스코드 업데이트 하면서 다시 삽질을 하여 정리함...
정리하면 뭐하나 계속 삽질인데... ㅜㅜ

기존 포스팅
http://charlie0301.blogspot.kr/2013/10/fragmentpageradapter.html

관련 소스 코드
https://github.com/hallower/wimple/blob/master/src/kr/blogspot/charlie0301/WimpleActivity.java#L770

개발하던 App이 있는데 주된 동작이 NavigationDrawer을 선택하면 선택된 메뉴에 따라서 ViewPager의 Page들이 동적으로 업데이트 되어 진다.

FragmentPagerAdapter를 사용할 경우 fragment들이 바로 destroy되지 않고 재사용?되어FragmentStatePagerAdapter를 사용하여 개발하고 NavigationDrawer에서 메뉴가 선택될 경우 FragmentPagerAdapter에서 getItemPosition()을 overrride하여 기존 것은 POSITION_NONE을 리턴하게 하여 구현했었음.

이번에 업데이트 하다가 support library 사용을 업데이트하고 기존에 쓰던 오래된 view component를 변경했었는데 실수로 기존 코드에서 adaptor가 FragmentPagerAdapter로 변경되었던 것 같다. 테스트를 하는데 계속 fragment가 기존 정보를 물고 표시되고 업데이트 안되었고 강제로 ViewPager를 업데이트하려 Adapter 설정을 하도록 하여도 fragment가 업데이트 되지 않는 상황이었음.

암튼.. 한번의 실수로 시간 날리고 삽질하고.. 그냥 넉두리임.
아래는 테스트를 위해 사용한 sample code.

https://github.com/hallower/NavigationDrawerAndPager



댓글 없음:

댓글 쓰기