用了FragmentActivity,然后在布局文件中声明了
<android.support.v4.app.FragmentTabHost
android:background="#ffffff"
android:id="@+id/id_lLayout_inspect"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="50dp"></android.support.v4.app.FragmentTabHost>
然后
mTab = (FragmentTabHost) findViewById(R.id.id_lLayout_inspect);
mTab.setup(this,getSupportFragmentManager(),R.id.id_fLayout_inspect);
TextView tv = new TextView(this);
tv.setText("准备中");
mTab.addTab(mTab.newTabSpec(TAB_PREPRARE).setIndicator(tv),PrepareFragment.class,null);
tv = new TextView(this);
tv.setText("待开始");
mTab.addTab(mTab.newTabSpec(TAB_PLAYING).setIndicator(tv),PlayingFragment.class,null);
tv = new TextView(this);
tv.setText("特殊");
mTab.addTab(mTab.newTabSpec(TAB_SPECIAL).setIndicator(tv),SpecialFragment.class,null);
tv = new TextView(this);
tv.setText("已结束");
mTab.addTab(mTab.newTabSpec(TAB_END).setIndicator(tv),EndFragment.class,null);
mTab.setOnTabChangedListener(onTabChangeListener);
onTabChangeListener.onTabChanged(TAB_PREPRARE);
运行 报错:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.fc, PID: 3381
java.lang.IllegalStateException: No tab known for tag null
at android.support.v4.app.FragmentTabHost.doTabChanged(FragmentTabHost.java:330)
at android.support.v4.app.FragmentTabHost.onAttachedToWindow(FragmentTabHost.java:280)
at android.view.View.dispatchAttachedToWindow(View.java:15509)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2916)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2923)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2923)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2923)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2923)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1526)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6337)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
at android.view.Choreographer.doCallbacks(Choreographer.java:686)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

FragmentTabHost 报错No tab known for tag null
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- jlanglang 2016-12-03 01:54关注
mTab.addTab(mTab.newTabSpec(TAB_SPECIAL).setIndicator(tv),SpecialFragment.class,null);
别传个null,传个tag进去本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报