0 votes

Problème de TabHost dans Android

Je veux accéder à une activité unique en utilisant 2 onglets différents. Par exemple, j'ai une activité unique comme les gens et deux onglets dont les noms sont tab1 et tab2. lorsque je clique sur l'onglet 1, je veux afficher la page des gens comme mon groupe et lorsque je clique sur l'onglet 2, cette même page a affiché le titre "show all". Cela signifie que je veux accéder à une intention unique pour deux onglets de la même manière l'information dans cette activité est affichée selon l'onglet. à cette fin, que puis-je faire ? donnez-moi quelques suggestions. merci d'avance.

1voto

Rich Points 16818

Je ne pense pas que je réutiliserais la même activité pour différents onglets. Y a-t-il une raison pour laquelle vous ne pouvez pas utiliser des activités distinctes pour représenter différentes vues des mêmes données ? La raison pour laquelle je dis cela est que vous devriez écrire du code dans l'activité pour différencier l'onglet sélectionné, et je pense que votre base de code serait beaucoup plus propre si cela était inhérent à vos classes.

J'ai un code dans mon TabActivity similaire au suivant pour définir les activités comme contenu de mes onglets via les intents :

    mTabHost = getTabHost();

    // Tab1
    Intent tab1Intent = new Intent(this, ActivityForTab1.class);
    mTabHost.addTab(mTabHost.newTabSpec(TabTag1).setIndicator(TabLabel1).setContent(tab1Intent));     

    // Tab2
    Intent tab2Intent = new Intent(this, ActivityForTab2.class);
    mTabHost.addTab(mTabHost.newTabSpec(TabTag2).setIndicator(TabLabel2).setContent(tab2Intent));     

    mTabHost.setCurrentTab(0);

0voto

CommonsWare Points 402670

Ne mettez pas d'activités comme contenu de vos onglets. Mettez des vues comme contenu de vos onglets. Voici un exemple de projet démontrant cette technique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X