안드로이드, Viewpager with fragment problem. |
Viewpager 와 fragment 를 동시에 사용할 경우 view redraw 가 잘 안 되는 현상이 발생하기도 한다.
필자가 겪었던 문제는 Acitivity 를 사용하다가 Home 키로 나갔을 경우 한참후에 다시 들어오면 ViewPager 안에 있는 Fragment 들만 다시 안 그려지는 현상을 발견했다. ( ViewPager 바깥에 있는 Fragment 들은 잘 그려졌다. )
구글링 결과 여러가지 솔루션을 제공하는데..
1. View destroy 안 되게 하기 #1
FragmentPagerAdapter.setOffscreenPageLimit( int retainNumber )
위의 함수를 통해 Fragment 를 destroy 하지 않도록 retain 시킬 수 있다.
필자가 해본 결과 이 방법으로도 문제가 해결되지 않았다. ㅠ 그래서 #2 를 시도해보았다.
2. View destroy 안 되게 하기 #2
FragmentPagerAdpater.destroyItem( View container, int position, Object object )
함수를 override 하여 super 클래스를 불러주지 않도록 한다.
3. View Creation 과 Destroy 둘 다 직접 관리하기
위의 방법과 비슷한데, destoryItem 과 함께 FragmentPagerAdapter.instantiateItem(ViewGroup container, int position) 를 함께 override 하여 생성까지 책임지도록 하는 방법이다.
해결하길 바라며..
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] setRetainInstance( boolean ) 뭐하는 녀석이냐? (0) | 2013.07.29 |
---|---|
[android] ViewPager view refresh 에 대한 고찰. (0) | 2013.07.29 |
[android] Opensource Libraries 모음 (2) | 2013.07.25 |
[android] Service 함수 onStartCommand return 값의 의미. (0) | 2013.07.25 |
[android] framework FAQ (0) | 2013.07.24 |
댓글