我的问题解释起来很简单,但解决起来很复杂。
我有容器B,它是容器A的父容器。 我替换了容器A中的片段。 我从容器B中取出容器A. 我得到例外:
Caused by:
java.lang.IllegalArgumentException: No view found for id 0x7f060090 for fragment myappMapFragment{41e52848 #3 id=0x7f060090}
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:865)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1083)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:635)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1431)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:523)
at com.myapp.android.app.app.onStart(app.java:831)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1167)
at android.app.Activity.performStart(Activity.java:5216)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2073)
... 11 more
因此更准确地说,在执行事务之前删除了视图。有没有办法检查事务是否正在进行,或者唯一的方法是在提交之前设置标志transactionInProgress = true,并通过片段回调将其更改为false?