Android - FragmentTabHost给了我“没有标签为null的标签”

时间:2013-07-12 14:48:56

标签: android fragment android-tabhost

我的活动使用与TabHost相关联的ViewPager。虽然它工作正常,但我决定用FragmentTabHost替换它。但是,在进行一些更改后,我收到一个渲染异常,其消息如下所示。

W/System.err(21723): java.lang.IllegalStateException: No tab known for tag null
W/System.err (21723):   at android.support.v4.app.FragmentTabHost.doTabChanged(FragmentTabHost.java:326)
W/System.err(21723):    at android.support.v4.app.FragmentTabHost.onAttachedToWindow(FragmentTabHost.java:276)
W/System.err(21723):    at android.view.View.dispatchAttachedToWindow(View.java:12064)
W/System.err(21723):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2707)
W/System.err(21723):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714)
W/System.err(21723):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714)
W/System.err(21723):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714)
W/System.err(21723):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714)
W/System.err(21723):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714)
W/System.err(21723):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714)
W/System.err(21723):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714)
W/System.err(21723):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1339)
W/System.err(21723):    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1131)
W/System.err(21723):    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4611)
W/System.err(21723):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
W/System.err(21723):    at android.view.Choreographer.doCallbacks(Choreographer.java:555)

基本上我所做的是创建一个名为IconSwipeyTabsView的类,它扩展FragmentTabHost并在主要活动或片段中使用。我对Google和StackOverflow进行了大量研究,但没有一个给我一个明确的答案。仅供参考,这些是两个核心文件的网址。

如果有人能帮助我,我真的很感激。 谢谢!

1 个答案:

答案 0 :(得分:1)

您是否在活动中致电IconSwipeyTabsView.setup(FragmentManager fm)

如果未调用No tab known for tag null中的setup方法,则可能会发生FragmentTabHost错误。如果在此处搜索此错误导致其他人,请确保在创建FragmentTabHost对象后调用以下其中一项:

FragmentTabHost.setup(Context context, FragmentManager manager)

FragmentTabHost.setup(Context context, FragmentManager manager, int containerId)

详细信息:FragmentTabHost