마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

ViewPager 사용시, Fragment 안의 버튼을 누르면 새로운 Fragment로 이동

0 추천
안녕하세요,

현재 개발 중인 앱이 ViewPager와 TabLayout을 함께 사용하고 있으며,

총 4개의 Fragment로 구성이 되어있습니다.

그 중 하나의 Fragment에 있는 버튼을 클릭하면 기존의 4개의 Fragment말고 새로운 Fragment로

뷰를 전환하고 싶습니다.

어떻게 해결해야 하나요?
yt0229 (1,070 포인트) 님이 2018년 7월 12일 질문

1개의 답변

0 추천
뷰페이저가 아닌 다른 곳에 프래그먼트를 그리고 싶으신거라면 뷰페이저 위에 빈 뷰를 하나 깔아두고 거기에 프래그먼트를 그리시면 됩니다.
niss (3,110 포인트) 님이 2018년 7월 12일 답변
그생각을 안해본 것은 아니나 프래그먼트에서 띄우는 뷰를 다른 뷰로 대체하는 방법은 없나요? replace 라는 것을 알게돼서 해봤는데 화면의 일부분(?)만 바뀌더라구요..
viewpager를 아예 가리고 싶은 경우인가요? 아예 새로운 화면으로 띄우고 싶으면 activity를 새로 만드는게 나을거고요. 아니라면 viewpager를 gone 시키는게 나을 거 같습니다. 정확하게 뭘 원하는지 제가 잘 이해한거 같진 않네요. 미안합니다.
제가 설명이 부족했나보네요 ㅜ ViewPager에서 화면을 보여주는 방식은 바꾸지않고, ViewPager에서 1번째 화면(fragment)에 있는 뷰에서 button을 클릭하면 그 1번째 화면 자리에 다른 화면이 보이게끔(ViewPager는 유지) 하는 방식을 원합니다.
구현하고자 하는 것은 ViewPager의 fragment에서 listview로 항목들을 보여주고 그 중 하나의 항목을 클릭하면 새로운 fragment를 띄워 하위 항목들을 고를 수 있는 ui를 만들려고 합니다.
아 그거라면 해당 페이지의 fragment 안에 있는 빈 컨테이너뷰에 fragment를 뿌리면 됩니다. 그럼 다른 탭에 갔다가 돌아와도 남아 있고 관리는 getChildFragmentManager() 로 할 수 있습니다.
아 Fragment 안에 빈 컨테이너 만들고 그 뷰를 바꾸시는 식으로 해야되는군요! 바로 해봐야겠네요 감사합니다!
...