J'ai trois onglets et chacun est sa propre activité. Lorsque je change d'onglet, je veux que mon Spinner soit mis à jour mais je ne sais pas quelle méthode est appelée sur le changement d'onglet. De l'aide? Relier un écouteur à TabHost.OnTabChangeListener.Lorsque vous changez d'onglet dans Android, qu'est-ce que cela représente?
Répondre
Vous l'activité principale étend TabActivity et sa méthode onCreate ressemble probablement quelque chose comme ceci:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TabHost tabHost = getTabHost();
LayoutInflater.from(this).inflate(R.layout.tabs1, tabHost.getTabContentView(), true);
tabHost.addTab(tabHost.newTabSpec("tab1")
.setIndicator("tab1")
.setContent(R.id.view1));
tabHost.addTab(tabHost.newTabSpec("tab3")
.setIndicator("tab2")
.setContent(R.id.view2));
tabHost.addTab(tabHost.newTabSpec("tab3")
.setIndicator("tab3")
.setContent(R.id.view3));
}
Pour accrocher l'auditeur, ajoutez le code suivant dans votre méthode onCreate():
tabHostt.setOnTabChangedListener(new OnTabChangeListener(){
@Override
public void onTabChanged(String tabId) {
if(tabId.equals("tab1")) {
//tab1
}
else if(tabId.equals("tab2")) {
//tab2
}
else if(tabId.equals("tab3")) {
//tab3
}
}
});
HTH
Quelque chose comme ça devrait fonctionner:
tabHost.setOnTabChangedListener(new OnTabChangeListener()
{
public void onTabChanged(String tabId)
{
//Do stuff in here
}
});
Ok, donc ça s'appelle maintenant quand je change d'onglet! Maintenant, j'ai juste besoin de lui dire d'exécuter une méthode dans l'activité à partir de laquelle il est passé. Aidez-moi? – Mitchell
Ajoutez simplement un appel à la méthode où se trouve le commentaire "Faire les choses". – kcoppock
J'ai une autre question. Ceci s'exécute quand n'importe quel onglet est changé. Mais puis-je avoir une méthode dans mon activité qui s'exécute lorsque l'onglet qui représente cette activité est sélectionné ou désélectionné. – Mitchell
Je vraiment nouveau à ce sujet, comment pourrais-je faire à ce sujet? J'ai 4 fichiers, un qui s'exécute au lancement de l'application et un autre est une activité pour un onglet. – Mitchell
J'ai mis à jour ma réponse ci-dessus pour inclure du code sur la façon de procéder. – dhaag23