我对此问题进行了大量搜索,但没有答案可以帮助我。
我在here中看到了同样的问题,但它无能为力,所以我发布了我的问题,希望任何人都可以帮助我。这对我来说很严肃。
我有一个Activity
(称为activity
A,它的MainActivity)TabLayout
和ViewPager
,其中包含5 Fragments
。
在正常情况下,一切都很好。但是有一段时间我尝试用以下方案重新打开A1
Activity
A fragments
中的一个开始,我开始一个名为B的新活动。Activity
C Activity
A并清除所有后退中的activities
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
我低于Error
:
java.lang.IllegalStateException:没有主机 在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1239) 在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1234) 在android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2046) 在android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1989) 在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1092) 在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) 在android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742) 在android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) 在android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570)
从现在开始,我无法再启动我的应用程序了,每次尝试启动我的应用程序时,都会遇到上述相同错误的异常。
我尝试使用此topic中的解决方案,但仍然无法解决我的问题
我调查并发现Exception在FragmentManager类中由代码发生:
if (mHost == null && newState != Fragment.INITIALIZING) {
throw new IllegalStateException("No host");
}
我不知道为什么mHost
为空,每当我尝试从commit
拨打fragmentManager
时,exception
都会被抛出。
如果我清除data
的{{1}},它将恢复正常。