Mes classes
FragmentTabs - le fragment qui contiendra mon FragmentTabHost
Sa méthode 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;
}
La classe d'activité 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" />
Je ne vois aucun onglet sur mon activité. Où peut être le problème?
Fragment1 et 2 classes ne sont que des fragments vides avec une seule vue de texte.
Réponses:
3 pour la réponse № 1utilisez childFragmentManager à la place de FragmentManager, c.-à-d.
fragmentTabHost.setup(getActivity(), getChildFragmentManager(), R.id.content);
Ici conent
est l'endroit où vous voulez montrer le fragment actuel. maintenant, votre conteneur contient des onglets que vous ajoutez dans fragmentTabHost