Java Android:带标签的片段

Java Android:带标签的片段,java,android,android-fragments,android-tabhost,fragment-tab-host,Java,Android,Android Fragments,Android Tabhost,Fragment Tab Host,我怎样才能把标签放在我的碎片里?我一直在努力解决这个问题,非常感谢您的帮助 当前我遇到了此错误:您是否忘记调用“public void setup(LocalActivityManager activityGroup)”? 但是,即使我为此添加了一个调用,我仍然会遇到一个致命的崩溃,并出现一个错误: 必须调用接受上下文和碎片管理器的setup() 这似乎是矛盾的 以下是相关的Java和XML: @Override public View onCreateView(LayoutInflater

我怎样才能把标签放在我的碎片里?我一直在努力解决这个问题,非常感谢您的帮助

当前我遇到了此错误:
您是否忘记调用“public void setup(LocalActivityManager activityGroup)”?

但是,即使我为此添加了一个调用,我仍然会遇到一个致命的崩溃,并出现一个错误:
必须调用接受上下文和碎片管理器的setup()

这似乎是矛盾的

以下是相关的Java和XML:

  @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    super.onCreateView(inflater, container, savedInstanceState);

    View v = inflater.inflate(R.layout.fragment_profile, container, false);

    mTabHost = new FragmentTabHost(getActivity());
    mTabHost.setup(getActivity().getApplicationContext(), getChildFragmentManager(), R.layout.testtabhost1);

    //LocalActivityManager mLocalActivityManager = new LocalActivityManager(getActivity(), false);
    //mLocalActivityManager.dispatchCreate(savedInstanceState); 
    //mTabHost.setup(mLocalActivityManager);

    //LocalActivityManager mLocalActivityManager = new LocalActivityManager(getActivity(), false);
    //mTabHost.setup(mLocalActivityManager);

    Intent q_intent = new Intent (getActivity(), QuestionTabActivity.class);
    Intent a_intent = new Intent (getActivity(), AnswerTabActivity.class);

    View questionIndicator = createTabView(mTabHost.getContext(), "Questions");
    View answerIndicator = createTabView(mTabHost.getContext(), "Answers");

    mTabHost.addTab(mTabHost.newTabSpec("questions").setIndicator(questionIndicator).setContent(q_intent));
    mTabHost.addTab(mTabHost.newTabSpec("answers").setIndicator(answerIndicator).setContent(a_intent));

    mTabHost.setCurrentTab(0);

    // Inflate the layout for this fragment
    return v;
}
以及XML:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.juryroom.qollege_android_v1.ProfileFragment">

    .........
    ...ETC...
    .........

    <android.support.v4.app.FragmentTabHost
        android:id="@+id/testtabhost1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/edit_profile_picture_fragment_circView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="5dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:showDividers="none"></TabWidget>

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent">


            </FrameLayout>
        </LinearLayout>
    </android.support.v4.app.FragmentTabHost>

.........
...ETC...
.........

</FrameLayout>

.........
等
.........
.........
等
.........
以下是我正在制作的设计外观:

为了显示选项卡,我们不必使用任何其他UI元素,如TabHost。操作栏具有添加选项卡的内置功能。我们所要做的就是使用setNavigationMode(ActionBar.NAVIGATION\u MODE\u选项卡)启用它


很好地描述了您要查找的内容。

使用新的设计库,我创建了一个完整的示例。我希望有帮助@我看到这个,试着回答,但没有work@ErikJhordanReyCaffrey使用actionbar选项卡时,该设计库看起来就像它的。我希望在一个片段中间有标签。请检查这个标签,我希望标签在屏幕中途的一个片段中。actionbar能做到吗?
mTabHost = (FragmentTabHost) v.findViewById(android.R.id.tabhost);
    mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.realtabcontent);
    mTabHost.addTab(mTabHost.newTabSpec(Constant.BuildingPicture.FRONT_PHOTOS).setIndicator(Constant.BuildingPicture.FRONT_PHOTOS),SiteDataFrontPhotoTab.class, null);
    mTabHost.addTab(mTabHost.newTabSpec(Constant.BuildingPicture.SATELLITE_PHOTOS).setIndicator(Constant.BuildingPicture.SATELLITE_PHOTOS),SiteDataSatellitePhotoTab.class, null);