본문 바로가기
Android/Errors

Fragment에서 ViewPager 사용 시 문제점

by JuHy_ 2020. 4. 20.

문제점

NavigationDrawer의 Fragment 위에 ViewPager를 올려서 사용하려 했다.

그러나 navigation을 통해 다른 fragment로 이동 후 돌아오면 ViewPager가 사라지는 현상이 발생함.

 

해결 방법

// 잘못된 코드
MovieListPagerAdapter adapter = new MovieListPagerAdapter(getActivity().getSupportFragmentManager(), 1);

// 올바른 코드
MovieListPagerAdapter adapter = new MovieListPagerAdapter(getChildFragmentManager(), 1);

adapter 객체 생성 시 생성자에 FragmentManager를 파라미터로 넘겨주어야 했는데

이 때 getActivity().getSupportFragmentManager() 호출하면 NavigationView의 FragmentManager가 넘어온 것.

따라서 getChildFragmentManager()를 통해 ViewPager의 FragmentManager를 불러오자 정상 작동함.