2010-12-10 59 views
0

Fondamentalement la question ci-dessus, vous n'avez pas besoin de lire le lot ci-dessous, juste des informations supplémentaires sur la façon dont je veux l'utiliser.Comment puis-je tester/écouter le changement d'onglet?

I Avoir une activité (qui étend l'activité des onglets) avec deux onglets. Mes onglets n'ont pas d'intentions différentes, ils sont tous les deux remplis dans la même activité. Dans chacun d'eux j'ai une liste que je remplis à partir d'une base de données.

Les deux onglets sont "revenu" et "résultat" et j'ai essayé de le configurer de sorte qu'en fonction de l'onglet ouvert, une requête différente sera exécutée et une liste différente sera affichée. Les données correctes sont affichées mais quel que soit le premier onglet qui contient quelque chose, j'ai réalisé que c'était parce qu'il ne réinterrogeait pas la base de données (méthode getBudgetAmount) et montrait la liste (méthode showBudgetCategories) quand l'onglet a changé et figuré je devrais tester pour ce changement mais je n'ai pas trouvé un moyen de le faire encore qui fonctionne .. alors je pensais que peut-être il y a un auditeur que je pourrais utiliser à la place? Si quelqu'un pouvait me pointer du bon côté, je l'apprécierais vraiment!

Voici mon activité:

EDIT, la mise en forme continue à aller drôle, vous trouverez plus facile à lire ici- http://codeviewer.org/view/code:1501

Répondre

2

Demandez à votre classe de budget mettre en œuvre OnTabChangeListener, puis dans la méthode onCreate() ,

ajouter cette ligne:

mTabHost.setOnTabChangedListener(this); 

Faites ensuite votre classe Budget mettre en œuvre onTabChanged:

public void onTabChanged(String tabName) { 
     if(tabName.equals("tab1")) { 
      //do something 
     } 
     else if(tabName.equals("tab2")) { 
      //do something 
     } 
    } 
+0

oh oui exactement ce que je cherchais merci! – Holly