android 底部4个tabar来回快速切换 奔溃 No host错误 1C

AndroidRuntime: FATAL EXCEPTION: main
Process: com.yizooo.yizooo, PID: 21870
java.lang.IllegalStateException: No host
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1235)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1230)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2042)
at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1976)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1092)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517)
at android.os.Handler.handleCallback(Handler.java:743)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:5546)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
10-21 18:25:32.393 27110-27110/com.yizooo.yizooo E/SMACK-Voe: enter JNI_OnLoad

截图:
图片说明

3个回答

你试试TabLayout吧

出现这个bug的原因是将touch事件和onKey事件传递给了Fragment,而这个时候Fragment还在动画状态中,“No host”,没有附着到Activity上面。因此,解决方法就是在Fragment切换动画时候,标识下这个状态,在这个状态下,Activity的touch事件和onKey事件自己处理即可。参考:http://blog.csdn.net/singleton1900/article/details/49490779

除了楼上说的,No host 代表Fragment还没有 附着在Activity上,应该是你的一些初始化代码没有在 Fragment的生命周期 onAttach之后做。你检查一下这方面的原因

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐