问题
在Fragment的onCreateView方法中,我们有这样一行代码:
viewPager.setAdapter(new MeViewPagerAdapter(getActivity().getSupportFragmentManager()));//改为getChildFragmentManager
bug出现的场景是这样的:
在viewpager中创建viewpager,重新进入子viewpager时会抛出异常:Recursive entry to executePendingTransactions
解决方法
在看了大神的博客之后,找到了解决方法:
viewPager.setAdapter(new MeViewPagerAdapter(getChildFragmentManager()))
也就是将子viewPager的adapter构造参数传入当前的FragmentManager,不应该再从activity中获取supportFragmentManager
本文介绍了一种在Fragment的onCreateView方法中使用ViewPager时遇到的递归异常问题及解决方案。当尝试重新进入子ViewPager时,会出现RecursiveentrytoexecutePendingTransactions异常。通过将adapter构造参数中的FragmentManager更改为getChildFragmentManager(),可以有效解决此问题。
2万+

被折叠的 条评论
为什么被折叠?



