FragmentManager is already executing transactions after using method setOffscreenPageLimit()

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ezview_uniview/article/details/69357652
4-05 21:10:49.509 23116-23116/com.xxx.xxx.xxxE/AndroidRuntime: FATAL EXCEPTION: main
                                         Process: com.xxx.xxx.xxx, PID: 23116
                                         java.lang.IllegalStateException: FragmentManager is already executing transactions
                                         at android.support.v4.app.FragmentManagerImpl.ensureExecReady(FragmentManager.java:2006)
                                         at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:2030)
                                         at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:651)
                                         at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143)
                                         at android.support.v4.view.ViewPager.populate(ViewPager.java:1239)
                                         at android.support.v4.view.ViewPager.populate(ViewPager.java:1087)
                                         at android.support.v4.view.ViewPager.setOffscreenPageLimit(ViewPager.java:851)


在fragment中创建viewpager+tablayout + fragment的时候,调用viewpager的setOffscreenPageLimit方法,出现如上崩溃信息,google一下,原来是在fragment中,如果内嵌viewpager+fragment,不能用getFragmentManager()方法,要用getChildFragmentManager()方法来初始化ViewPagerAdapter


如下:

mAdapter = new ViewPagerAdapter((getChildFragmentManager()), fragments, tabTitles);


猜你喜欢

转载自blog.csdn.net/ezview_uniview/article/details/69357652
今日推荐