Android片段java.lang.IllegalStateException:无主机
我做了很多关于这个问题的搜索,但没有答案帮助我。 我在网上看到了一个同样的问题,但它帮不了我,所以我把我的问题贴出来,希望任何人都能帮助我。这对我来说很严重。 我有一个Android片段java.lang.IllegalStateException:无主机,java,android,fragment,fragmentmanager,Java,Android,Fragment,Fragmentmanager,我做了很多关于这个问题的搜索,但没有答案帮助我。 我在网上看到了一个同样的问题,但它帮不了我,所以我把我的问题贴出来,希望任何人都能帮助我。这对我来说很严重。 我有一个Activity(称为ActivityA,它是main Activity),带有TabLayout和ViewPager,其中包含5个片段 在正常情况下,一切正常。但是如果我尝试用下面的场景重新打开A1 开始活动A 从上面5个片段中的一个开始,我开始一个名为B的新活动 从B开始,我试图开始活动C 从C开始上面的活动A,并通过清除ba
Activity
(称为Activity
A,它是main Activity),带有TabLayout
和ViewPager
,其中包含5个片段
在正常情况下,一切正常。但是如果我尝试用下面的场景重新打开A1
开始活动
A
从上面5个片段中的一个开始,我开始一个名为B的新活动
从B开始,我试图开始活动
C
从C开始上面的活动
A,并通过清除backstack中的所有活动
intent.setFlags(intent.FLAG_ACTIVITY_NEW_TASK | intent.FLAG_ACTIVITY_CLEAR_TASK)代码>
我得到以下错误:
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)
从现在起,我再也不能启动我的应用程序了,每次我尝试启动我的应用程序时,我都会遇到与上面相同错误的异常
我试图在这方面使用解决方案,但仍然无法解决我的问题
我确实进行了调查,发现FragmentManager类中的异常是按代码发生的:
if (mHost == null && newState != Fragment.INITIALIZING) {
throw new IllegalStateException("No host");
}
我不知道为什么mHost
为空,每次我试图从fragmentManager
调用commit
,都会抛出异常
如果我清除应用程序的数据
,它将恢复正常。你能发布一个简单示例的代码来帮助其他人复制吗?这是一个包含许多活动和片段的大型项目,我在日志中没有指出问题的原因,因此我不知道我可以在这里发布哪一个:(但这使得任何人都很难提供帮助。假设你制作了一份项目的副本,并开始剥离不相关的部分。理想情况下,你要么自己确定问题(当你移除某个东西,问题就消失了),要么以一个简单的例子说明如何重现问题。