我正面临着非常奇怪的问题与此堆栈跟踪:
Fatal Exception: java.lang.IllegalStateException No host
android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1194)
android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1189)
android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated (FragmentManager.java:2001)
android.support.v4.app.Fragment.performActivityCreated (Fragment.java:1976)
android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1051)
android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1207)
android.support.v4.app.BackStackRecord.run (BackStackRecord.java:738)
android.support.v4.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:1572)
android.support.v4.app.FragmentManagerImpl$1.run (FragmentManager.java:493)
android.os.Handler.handleCallback (Handler.java:733)
android.os.Handler.dispatchMessage (Handler.java:95)
android.os.Looper.loop (Looper.java:146)
android.app.ActivityThread.main (ActivityThread.java:5593)
java.lang.reflect.Method.invokeNative (Method.java)
java.lang.reflect.Method.invoke (Method.java:515)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1283)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1099)
dalvik.system.NativeStart.main (NativeStart.java)
我在多个Android版本(4.1.2、4.2.2、6.0)上跟踪了4次发生此崩溃的情况。我使用了大量的片段
,这意味着我无法确定异常抛出的确切位置。
碎片管理器的代码:
void moveToState(int newState, int transit, int transitStyle, boolean always) {
if (mHost == null && newState != Fragment.INITIALIZING) {
throw new IllegalStateException("No host");
}
...
}
在我看来,如果没有属于片段的主机
活动
,就会发生这种情况。我ve read调用
setRetainInstance()`时,有时会抛出此异常,但我根本不使用它。
谢谢你的建议。
我有同样的问题,这似乎是相关的问题:https://code.google.com/p/android/issues/detail?id=42601.在支持v4库的以前版本中,异常是java.lang.IllegalStateExcema: No active
。
我已经尝试了变通方法#10,但它不适合我。
我不知道你为什么会得到这个错误。当我重用Fragments而不调用时,我得到了这个错误
fragmentManager.executePendingTransactions()
如果您有嵌套的片段
(其父活动扩展了FragmentActivity),则使用getChildFragmentManager()
而不是getFragmentManager()
。
您还可以使用getSupportFragmentManager()
。
编辑:如果此片段是另一个片段的子片段,则此处返回的FragmentManager将是父片段的getChildFragmentManager()。
注意:返回此片段的宿主对象。如果片段当前未被托管,则可能返回null。看见http://developer.android.com/reference/android/app/Fragment.html#getHost()
更新:当我把nullcheks(fragment!=null,getActivity()!=null)放到任何我能放的地方时,崩溃就消失了。 我的应用程序正在使用ViewPager(屏幕外限制5)和用getSupportFragmentManager()初始化的FragmentStatePagerAdapter。每一页都有它自己的片段和后栈。 应用程序在启动时崩溃。问题只发生在preLollipo
我的应用程序一直在许多Android平台上报告这个问题(4.1、4.0.4、2.3.6.…)。但我无法在我的手机上复制这个问题。我已经在Google上搜索了这个问题,但堆栈跟踪似乎与我的不一样。
Spring HATEOAS提供了方便的ControllerLinkBuilder来创建指向控制器方法的链接,这些方法将作为HREF添加到返回给客户端的JSON/XML中。例如: ... 可能会生成类似以下内容的JSON: 然而... 我倾向于通过反向代理访问我的服务。我想大多数人可能会这样做。这让我可以在不同的端口上运行多个服务,但让我可以通过相同的基本URL访问它们。不幸的是,通过代理访问意味
问题内容: 我在使用Find()方法的行中得到以下异常(缺少主键) “表没有主键。” 我已经重新检查了数据库,所有主键列均已正确设置。 我的代码: 问题答案: 您需要在调用 Find* 之前设置 DataTable 对象的 PrimaryKey 属性。 ***
问题内容: 我正在使用Android兼容性库,偶尔会感到奇怪: 显然,我在做 一些 错误的操作,以允许它进入可能会像这样崩溃的状态,但是我不知道该怎么办。在相关的代码中没有提供我任何线索。我猜是某种在代码中的那一点?但这似乎是不可能的,因为该活动已经在屏幕上了,并且我没有在其中添加任何片段- 只需在中进行切换即可。 问题答案: 好的,在将我的头撞到砖墙上一段时间后,我发现这与我的片段的声明直接相关
我也尝试使用主机名(而不是IP地址),但是没有任何变化。有人帮忙吗?