2010-12-10 27 views
0

Grundsätzlich die Frage oben, müssen Sie nicht das Los unten lesen, nur zusätzliche Informationen darüber, wie ich es verwenden möchte.Wie kann ich den Tabwechsel testen/anhören?

Ich habe eine Aktivität (die Tabulatoraktivität erweitert) mit zwei Registerkarten. Meine Tabs haben keine unterschiedlichen Absichten, sie sind beide innerhalb der gleichen Aktivität gefüllt. In jedem von diesen habe ich eine Liste, die ich aus einer Datenbank ausfülle.

Die beiden Registerkarten sind "Einkommen" und "Ergebnis" und ich habe versucht, es einzurichten, so dass abhängig von der geöffneten Registerkarte eine andere Abfrage ausgeführt wird und eine andere Liste angezeigt wird.

Die richtigen Daten werden angezeigt, aber welche Registerkarte zuerst geöffnet wird, ist die einzige, die etwas enthält, ich erkannte, dies war, weil es nicht die Datenbank erneut Abfrage (meine getBudgetAmount -Methode) und die Liste (showBudgetCategories -Methode) Wenn der Tab sich änderte und dachte, dass ich auf diese Änderung testen müsste, aber ich habe noch keinen Weg gefunden, das zu tun. Dann dachte ich, dass es vielleicht einen Zuhörer gibt, den ich stattdessen verwenden könnte? Wenn mir jemand den richtigen Weg zeigen könnte, würde ich es wirklich schätzen!

meine Tätigkeit hier:

EDIT, Formatierung geht immer lustig, finden Sie es leichter hier- http://codeviewer.org/view/code:1501

Antwort

2

Haben Sie Ihre Budget-Klasse implementieren OnTabChangeListener, dann in der onCreate() -Methode lesen ,

diese Zeile hinzu:

mTabHost.setOnTabChangedListener(this); 

Dann haben Ihr Budget Klasse implementieren onTabChanged:

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

oh ja genau das, was ich suchte, danke! – Holly