안드로이드

Viewpager 에서 Fragment 사용할 때 탭간 이동하는 경우 돌아왔을때 초기화 방지

wangkisa 2016. 1. 18. 11:02

Viewpager 에서 Fragment 사용하게 되면

page 가 1번에서 3번이나 4번 탭으로 갔다가 다시 되돌아오는 경우

Fragment 가 초기화 되어서 다시 처음부터 시작하게되는

황당하게? 보이는 문제가 있었습니다.


알아보니 FragmentPagerAdapter 에서

@Override

public void destroyItem(View container, int position, Object object) {

            // TODO Auto-generated method stub

            super.destroyItem(container, position, object);

}

이 destroyItem 메소드가 자동으로 호출되어 해당 뷰를 자동으로 지워져서 문제였던 것이었습니다.

여기서 다음과 같이 super.destroyItem(container, position, object); 를 지워주시면 초기화되는 문제를 해결 할 수 있습니다.

@Override

public void destroyItem(View container, int position, Object object) {

            // TODO Auto-generated method stub

            // super.destroyItem(container, position, object);

}