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

FRAGMENT addToBackStack 하면 viewpager가 안보여요

0 추천
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();     
 transaction.replace(R.id.container, new Jeonpyo_GeoreceoWonjangFragment());
transaction.addToBackStack(null);   
transaction.commit();
 
이렇게 해서 다른 프래그먼트를 뿌려줍니다.
이후 백키를 눌러 이전 프래그먼트로 돌아오면
나머지 레이아웃은 다 제대로 불러와지고 VIewPager내의 데이터도 불러와지긴 하는데
viewpager가 보이지 않고 높이가 아예 없습니다.
뷰페이저가 없는 다른 화면 역시 잘 불러옵니다.
마커 페이저는 제대로 동작하고 뷰페이저에 위치할 데이터도 정상적으로 들어와서 들어가는 것도 보이는데
왜 보이지 않는 것인지 원인좀 알려주세요!
 
뷰페이저의 어답터는 private class Todayadapter extends PagerAdapter {
를 사용하고 있으며 instantiateItem을 통해 뷰를 뿌려줍니다.
여기서 setText, getText를 통해 데이터를 확인하면 제대로 제대로 값이 나옵니다...
그리고 <pre>FragmentStatePagerAdapter를 사용하여 구현해보았지만 이 역시 백키를 누르면 데이터가 보이지 않습니다..ㅠㅠ
sj6071 (620 포인트) 님이 2017년 12월 28일 질문

1개의 답변

0 추천
정확히는 로그를 봐야 알 수 있겠지만, back key로 돌아오면서 아래 fragment가 다시 생성되고

view pager가 포함된 fragment의 layout이 제대로 inflate되기 전에 view pager가 먼저 그려져서

0 height를 가지고 있는거 아닌가 의심되네요. 추측일 뿐입니다.
디자이너정 (42,810 포인트) 님이 2017년 12월 29일 답변
...