android - fragmenttabhost没有显示在我的片段中

时间:2014-10-10 13:13:05

标签: android android-fragments fragment-tab-host

我的班级

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 ..

1 个答案:

答案 0 :(得分:3)

使用childFragmentManager而不是FragmentManager即

fragmentTabHost.setup(getActivity(), getChildFragmentManager(), R.id.content);

这里conent是您要显示当前片段的位置。现在你的容器将包含你在fragmentTabHost中添加的标签