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);