Tabhost, wie können Tabs miteinander kommunizieren?

  • Antworten:6
Luisa W.
  • Forum-Beiträge: 2

13.09.2011, 12:55:03 via Website

Hallo,
ich bin neu hier, weiß also nich ob ich dass in das richtige Forum greade reinstelle.
Es geht um App Programmierung.
Ich habe einen Tabhost, der enthält 3 tabs. Jedes dieser tabs hat ne eigene Activity.
Jetzt möchte ich Daten von Tab3 nach Tab2 schicken. Ich weiß jedoch nicht wie das funktioniert. Wenn ich es ganz normal mit einem Intent versuche, stürzt die App ab.
Kann mir da jemand weiter helfen ?
Hab beim durchforsten von Google leider auch kein Antwort auf mein Problem gefunden

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

13.09.2011, 13:03:41 via Website

Ich hab es mal ins Entwickler Forum geschoben, da kommen sicher mehr Antworten .. :)

lg Voss

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

13.09.2011, 13:30:50 via Website

du brauchst auf jeden fall einen zentralen "nachrichten"-dienst.

irgendwo musst deine daten hinschicken und dann bekannt geben, dass sich daten geändert haben.

die tabs müssen sich dann entsprechen updaten, wenn sie an der reihe sind ( das heißt wenn sie in den vordergrund kommen )

so etwas in der art wirst brauchen.

swordiApps Blog - Website

Antworten
Luisa W.
  • Forum-Beiträge: 2

13.09.2011, 13:37:49 via Website

:/ hilft mir jetzt leider auch nicht recht viel weiter.
trotzdem danke.
gibt es denn keinen Intent der speziell auf tabs konstruiert worden ist ?

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

13.09.2011, 14:20:55 via Website

nein

deine activities im tab, die nicht angezeigt werden, sind entweder noch gar nicht erzeugt worden ( wenn sie noch nie aufgerufen wurden )
oder im onPause() modus.

da kannst du nicht einfach so mit ihnen kommunizieren.

Du musst dir einen zentralen mechanis bauen. Wie du den umsetzt, da gibts sicher viele lösungen. eventuell mit broadcasts oder ähnlichem.

da gibt es keine standardlösung.

swordiApps Blog - Website

Antworten
Ben Becker
  • Forum-Beiträge: 209

13.09.2011, 22:09:49 via Website

Ja und dann per OnResume() drauf zugreifen. OnResume() Wird immer aufgerufen wenn dein Tab in den Vordergrund kommt. Dann kannste prüfen ob neue Datenübergeben worden sind.

Antworten