一、前言:
遇到一个问题,Fragment放ViewPager,ViewPager里面是fragment。第一次进入没问题,再次进入ViewPager的fragment时里面内容就没了,数据丢失。
用的FragmentPagerAdapter.打Log发现FragmentPagerAdapter的getItem也不会调用,一直找不出原因。翻网上的回复终于找到答案。
本来里面的fragment用的还是getSupportFragmentManager,Fragment嵌套Fragment时,里面要用getChildFragmentManager。
二、解决
Fragment嵌套Fragment要用getChildFragmentManager。
FragmentManager childFragmentManager = getChildFragmentManager();
//FragmentPagerAdapter
ViewPager_Adapter viewPager_adapter = new ViewPager_Adapter(childFragmentManager, fragments);
三、总结:
- fragment外层是activity时,用getSupportFragmentManager();
- fragment外层是fragment时,用getChildFragmentManager();