2010-06-03 6 views
0

J'utilise le code suivant pour configurer un TabWidget:XML Controlling dans le widget Tab (Android)

public void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.main);  
     TabHost mTabHost = getTabHost(); 

     mTabHost.addTab(mTabHost.newTabSpec("tab_1").setIndicator("Tab1", getResources().getDrawable(R.drawable.tab_1)).setContent(new Intent(this, TabClass1.class))); 
     mTabHost.addTab(mTabHost.newTabSpec("tab_2").setIndicator("Tab2", getResources().getDrawable(R.drawable.tab_2)).setContent(new Intent(this, TabClass2.class)));  
     mTabHost.addTab(mTabHost.newTabSpec("tab_3").setIndicator("Tab3", getResources().getDrawable(R.drawable.tab_3)).setContent(new Intent(this, TabClass3.class)));   
     mTabHost.setCurrentTab(0);   
    } 

Ainsi, TabClass1, TabClass2 et TabClass3 sont des fichiers .java séparés qui sont contenus dans mon paquet. Je suis capable de créer du contenu dans chacun de ces fichiers .java et d'afficher le contenu lorsque chaque onglet est sélectionné - mais comment puis-je attribuer un fichier de mise en page XML à chacun des fichiers .java?

J'ai essayé différentes configurations, mais je n'ai pas réussi à créer une TextView dans une mise en page XML et je l'ai affichée lorsqu'un onglet particulier est sélectionné.

+0

Pouvez-vous poster votre code pour R.layout.main? – m6tt

+0

poster votre mise en page où est défini votre tabwidget – Jorgesys

Répondre

0

ok dans votre TabClass1.class vous devez avoir quelque chose comme

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mycontentA);   
} 

votre mise en page myContentA.xml doit être similaire à ...

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/layout" 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
<TextView 
     android:id="@+id/myTextView" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"  
     android:ellipsize="marquee" 
     android:singleLine="true"   
     android:textStyle="bold" 
     android:textColor="#000000"> 
</LinearLayout> 

vous réutilisera cette mise en page XML dans TabClass2. class et TabClass3.class ou créer myContentB.xml et myContentC.xml

+0

C'est ce dont j'avais besoin. Je vous remercie. – Chris