2012-04-12 14 views
1

Lässt die folgende Struktur vor:Kommunikation zwischen TabHost und Inhalt

ActivityA ----> contains TabHostA, Button1 

TabHostA ----> in one of its tabs holds the ActivityB that contains TextView1 

Die TabHost mit der Absicht gefüllt ist:

TabSpec tab = mTabHost.newTabSpec("tab1").setIndicator("tab1") 
     .setContent(new Intent(this, ActivityB.class)); 
mTabHost.addTab(tab); 

Und ich will, wenn die Button1 die TextView1 geändert wird gedrückt wird. Wie kann ich von ActivityA aus auf TextView1 zugreifen oder ActivityB und ActivityA für diese Änderung kommunizieren?

Bitte keine versuchen, die „Tab-Modell“ zu ändern, weil es von einem komplexeren Problem kommt (bei Interesse Suche MapViews innerhalb Fragmente) und die einzigartige Art und Weise das ist arbeiten, um es

Antwort

1

Vielleicht so?

((TabActivity) getParent()).getTabHost() 

Dann können Sie die TextView der angegebenen Registerkarte bearbeiten.

1

Sie BroadCastReciever verwenden können, und wenn die Button gedrückt wird, es von ActivityA ausgestrahlt, dann in ActivityB die sich als BroadCastReciever registriert haben, werden die BroadCast erhalten und ändern Sie die Inhalte von TextView

Verwandte Themen