Frage

Ich versuche, einige Registerkarten für meine Android -Anwendung einzurichten, aber ich bin festgefahren.

Ich kann keinen Weg finden, zwischen den Registerkarten zu kommunizieren.

Ich habe 2 Registerkarten.


| Suche | Ergebnis |

Auf der Registerkarte "Such" werden einfach eine Schaltfläche "SMSETit" und "Such" angezeigt. Wenn Sie die Suchschaltfläche drücken, wird meine App zum Ergebnis der Ergebnisregisterkarte geändert und das Ergebnis angezeigt.

Ich habe die Registerkarten als Aktivitäten mit neuen Absichten als hinzugefügt

TabHost host=getTabHost();  

host.addTab(host.newTabSpec("one")  
   .setIndicator("Search")  
   .setContent(new Intent(this, SearchTabActivity.class)));  
host.addTab(host.newTabSpec("Result")  
   .setIndicator("Android")  
   .setContent(new Intent(this, ResultTabActivity.class)));  

Jetzt kann ich keinen Weg für die Suche nach SearchTabActivität finden, um Ergebnissen zu zeigen und seine Ansicht zu ändern ...

Ich freue mich auf einen Tipp.

War es hilfreich?

Lösung

Du bestimmt Sie möchten die Verwendung von Aktivitäten als Inhalt Ihrer Registerkarten überdenken. Der Standard -Ansatz ist die Verwendung einer Aktivität, die Registerkarten verwendet, um nur einen Teil des Layouts anzuzeigen, wenn eine bestimmte Registerkarte ausgewählt ist.

Die Android -Dokumentation hat ein ausgezeichnetes Beispiel. Schauen Sie sich an Hallo, tabwidget.

Alternative

Wenn Sie aus irgendeinem Grund Aktivitäten verwenden müssen, können Sie Informationen zwischen ihnen übergeben, indem Sie entweder Werte zu dem Extras -Bundle innerhalb der Absicht hinzufügen, die Sie verwenden, um jede Aktivität zu öffnen, oder indem Sie das erweitern Anwendung Klasse.

Durch Erweiterung der Anwendungsklasse (und implementieren Sie sie als Singleton), erhalten Sie ein Objekt, das immer dann vorhanden ist, wenn eine Ihrer Anwendungskomponenten vorhanden ist und einen zentralen Ort zum Speichern und Übertragung komplexer Objektdaten zwischen Anwendungskomponenten bietet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top