在fragment中使用viewpager时,viewpager势必需要使用到fragment,这时会出现布局不显示及出现the specified child already has parent的错误。
当发现出现the specified child already has parent错误时,是有view加载重复。
我们在fragment中获取xml布局的时候是使用:
View view = LayoutInflater.from(getActivity()).inflate(R.layout.news, null);
View view = inflater.inflate(R.layout.news,null);
出现错误的原因就是把ViewGroup参数没写成null。
布局不显示是由于我们在写viewpager+fragment的时候使用FragmentPagerAdapter时
MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(
getSupportFragmentManager(), fragList, titleList);
这里使用的getSupportFragmentManager()是从Activity中获取Fragment,而现在需要从fragment中获取fragment。
MyAdapter mAdapter = new MyAdapter(getChildFragmentManager(), fragList, titleList);
getChildFragmentManager()在官方的解释是Return a private FragmentManager for placing and managing Fragments
inside of this Fragment.这是返回一个置于一个fragment内部中的一些fragment的fragmentManager。
所以只要使用getChildFragmentMananger()就可以了。