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);