相关疑难解决方法(0)

FragmentManager已经在执行事务.提交后初始化寻呼机何时安全?

我有一个托管两个片段的活动.活动开始时会在加载对象时显示加载程序.然后通过newInstance方法将加载的对象作为参数传递给两个片段,并附加这些片段.

final FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
trans.replace(R.id.container1, Fragment1.newInstance(loadedObject));
trans.replace(R.id.container2, Fragment2.newInstance(loadedObject));
trans.commit();
Run Code Online (Sandbox Code Playgroud)

第二个片段包含android.support.v4.view.ViewPager和tabs.onResume我们初始化它如下

viewPager.setAdapter(adapter);
viewPager.setOffscreenPageLimit(adapter.getCount()); //the count is always < 4
tabLayout.setupWithViewPager(viewPager);
Run Code Online (Sandbox Code Playgroud)

问题是android随后抛出

java.lang.IllegalStateException:FragmentManager已经在执行事务

有了这个堆栈跟踪:( 为了简洁,android.support取出了包名称)

v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1620)at v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:637)at v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143)at v4.view.ViewPager .populate(ViewPager.java:1235)at v4.view.ViewPager.populate(ViewPager.java:1083)at v4.view.ViewPager.setOffscreenPageLimit(ViewPager.java:847)

数据显示是否setOffscreenPageLimit(...);已删除.还有另一种方法可以避免这个问题吗?

在生命周期中片段事务是否完成,以便我可以等待设置我的寻呼机?

android android-fragments

66
推荐指数
6
解决办法
5万
查看次数

标签 统计

android ×1

android-fragments ×1