我的班级
FragmentTabs - 将保存我的FragmentTabHost的片段
它的onCreateView方法
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
fragmentTabHost = new FragmentTabHost(getActivity());
fragmentTabHost.setup(getActivity(), getFragmentManager());
fragmentTabHost.addTab(fragmentTabHost.newTabSpec("tab1").setIndicator("Tab1"), Fragment1.class, null);
fragmentTabHost.addTab(fragmentTabHost.newTabSpec("tab2").setIndicator("Tab2"), Fragment2.class, null);
return fragmentTabHost;
}
活动类XML
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.studio3s.myapplication.TestActivity">
<fragment
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:name="com.studio3s.myapplication.FragmentTabs"
android:id="@+id/fragment"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
我在活动中看不到任何标签......可能是问题所在?
Fragment1和2类只是一个空文片段,只有一个textview ..
答案 0 :(得分:3)
使用childFragmentManager而不是FragmentManager即
fragmentTabHost.setup(getActivity(), getChildFragmentManager(), R.id.content);
这里conent
是您要显示当前片段的位置。现在你的容器将包含你在fragmentTabHost中添加的标签