Aller au contenu

TabHost à l'intérieur d'un Fragment


Maxime Gens

Recommended Posts

Bonjour à tous :) , je viens vous demander votre aide car je séche depuis un petit moment sur un probléme qui a mon avis a déjà du arriver, j'ai cherché partout sur le net je ne trouve pas vraimment de réponse à mon probléme.

 

Je m'explique, je développe une application qui comporte une seule activité dont le contenu change grâce à des fragments qui sont appelés.

 

Tout marche très bien mais dans un de mes fragments j'aimerais appelé un TabHost pour le remplir dynamiquement mais impossible d'accéder au tabHost... :(  j'ai toujours un nullPointerException, je pense que je n'applique pas la donne méthode à mon avis.

 

Voici le code de mon xml qui affiche le tabHost dans le Fragment :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:orientation="vertical">
    <TabHost 
             android:id="@android:id/tabhost"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent">
        <LinearLayout
                android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">
            <TabWidget
                    android:id="@android:id/tabs"
                    android:visibility="gone"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"/>
            <FrameLayout
                    android:id="@android:id/tabcontent"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"/>
            
            		
                <LinearLayout
                    android:id="@+id/tab1"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="horizontal" >
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/tab2"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="horizontal" >
                </LinearLayout>
        </LinearLayout>
    </TabHost>
</LinearLayout>

Et voici ma classe PlanAccesFragment.java

import android.widget.TabHost.TabSpec;

import com.platine.zoodelille.R;

public class PlanAccesFragment extends Fragment {
	
	private TabHost tabHost;
	
	public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

		View myInflatedView = inflater.inflate(R.layout.fragment_plan_acces, container, false);
		
		tabHost = (TabHost) myInflatedView.findViewById(android.R.id.tabhost);
		tabHost.setup();
		//very important to call this
		
        mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
               FragmentTab.class, null);
        mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"),
        		FragmentTab.class, null);
        mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"),
        		FragmentTab.class, null);
        mTabHost.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"),
        		FragmentTab.class, null);
	
        return myInflatedView;

}

Je vous remercie d'avance :P

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...