J'ai un TabHost avec 4 onglets définis dans mon fichier layout.xml principal. J'essaye de configurer les onglets en ajoutant seulement les onglets spécifiés au TabHost (c'est-à-dire 1, 2 et 4, ou 1 et 3, ou ...).Afficher uniquement certains onglets dans TabHost android?
Si j'ajoute juste les 4 onglets, tout va bien, mais si je laisse l'un des 4, ceux que je montre n'ont aucun contenu affiché à l'intérieur d'eux.
Est-ce que quelqu'un sait quel pourrait être le problème ici?
tabs = (TabHost) findViewById(R.id.tabhost);
tabs.setup();
TabSpec mainSpec = tabs.newTabSpec("Main Tab");
mainSpec.setIndicator("Main", getResources().getDrawable(R.drawable.tab_main)).setContent(R.id.mainContent);
tabs.addTab(mainSpec);
if(param1)
{
TabSpec msgSpec = tabs.newTabSpec("Tab 2");
msgSpec.setIndicator("Messages", getResources().getDrawable(R.drawable.tab_message)).setContent(R.id.messageContent);
tabs.addTab(msgSpec);
}
if(param2)
{
TabSpec tpSpec = tabs.newTabSpec("Tab 3");
tpSpec.setIndicator("Timepoints", getResources().getDrawable(R.drawable.tab_message)).setContent(R.id.timepointContent);
tabs.addTab(tpSpec);
}
if(param3)
{
TabSpec passSpec = tabs.newTabSpec("Tab 4");
passSpec.setIndicator("Passengers", getResources().getDrawable(R.drawable.tab_message)).setContent(R.id.passengerContent);
tabs.addTab(passSpec);
}
En théorie, je ne vois rien de mal avec votre code. Il doit y avoir quelque chose d'autre qui cause cela. – Squonk
Hmm ok ... mon intuition était que ça avait quelque chose à voir avec les mises en page étant définies dans le fichier xml mais jamais ajoutées au TabHost? – TomBomb
Ah, d'accord. Je pense que vous êtes peut-être sur la bonne voie. Essayez de définir les mises en page pour chaque onglet «contenu» dans leurs propres fichiers XML. Créez une mise en page d'onglet "principale" pour le TabHost mais gardez les vues de contenu en tant que mises en page distinctes. – Squonk