2014-04-20 2 views
0

J'ai donc fait un tabhost dans mon application (4.2.2) mais quand je remplis l'onglet avec le titre des onglets, les images disparaissent, et quand je ne mets que le chemin des images, il montre les images mais je veux montrer les deux. quelqu'un peut me aider Dans ce casTexte et images dans TabHost desapear

les images apparaissent, mais comme y peut voir le titre n'est pas rempli MainActivity public class étend TabActivity {

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    try 
    { 
     Resources res = getResources(); 
     TabHost tabHost = getTabHost(); 
     TabHost.TabSpec spec; 
     Intent intent; 
     tabHost.clearAllTabs(); 

     // create an intent for the tab which points at the class file for that tab 
     intent = new Intent().setClass(this, AllProductsActivity.class); 

     //give the tab a name and set the icon for the tab 
     spec = tabHost.newTabSpec("Pesagem").setIndicator("", res.getDrawable(R.drawable.icon_config)).setContent(intent); 
     tabHost.addTab(spec); 

     intent = new Intent().setClass(this, AllContActivity.class); 
     spec = tabHost.newTabSpec("Contagem").setIndicator("", res.getDrawable(R.drawable.icon_config)).setContent(intent); 
     tabHost.addTab(spec); 

     intent = new Intent().setClass(this, AllGuiaActivity.class); 
     spec = tabHost.newTabSpec("Guia").setIndicator("", res.getDrawable(R.drawable.icon_config)).setContent(intent); 
     tabHost.addTab(spec); 

     tabHost.setCurrentTab(0); 
    } 
    catch(Exception e) 
    { 
     System.out.println(e.toString()); 
    } 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

}

si je le fais, il apparaît seulement le titre:

 intent = new Intent().setClass(this, AllGuiaActivity.class); 
     spec = tabHost.newTabSpec("Guia").setIndicator("Pesagem", res.getDrawable(R.drawable.icon_config)).setContent(intent); 
     tabHost.addTab(spec); 

que puis-je faire pour avoir un titre et une image sur l'onglet

Répondre

2
View view = LayoutInflater.from(context).inflate(R.layout.tabs, null); 
TextView tv = (TextView) view.findViewById(R.id.tabsText); 
tv.setText(text); 
ImageView iv = (ImageView) view.findViewById(R.id.tabsImage); 
iv.setImageResource(image); 

TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(view) 
       .setContent(new Intent(this, activity)); 
mTabHost.addTab(setContent); 

La mise en page peut simplement être une LinearLayout avec un TextView et un ImageView.

+0

Vous souhaitez créer une mise en page avec une image et une vue texte, puis gonflez-la et stockez-la dans la tabspec que je veux. J'ai 3 onglets malade juste besoin de répéter votre code d'exemple 3 fois – user3121133

+0

Correct, faites cela trois fois. – nasch