Ist Intent - putExtra() das richtige?

  • Antworten:2
  • Bentwortet
DroidGeek
  • Forum-Beiträge: 17

13.07.2014, 12:25:42 via Website

Hallo,

ich habe ein Problem und weiß nicht, was die richtige Vorgehensweise ist, ich erkläre es euch einfach anhand meines Problems.

Ich habe 2 Activities.
Act1 und Act2

Act1 ist das Hauptfenster und Act2 das Optionsfenster.

Wenn ich die App starte öffnet sich Act1. Dann drück ich den OptionsButton und Act2 wird geöffnet.
Wenn ich dort meine Einstellungen fertig hab, will ich Act1 über startActivity(Act1intent) starten, damit die Einstellungen übernommen werden, würde ich einfach finish() aufrufen, würden die Einstellungen im Act1 nicht angezeigt werden (hoffentlich nachvollziehbar). Und dann soll Act2 erst komplett geschlossen werden, sobald Act1 offen ist.

Jetzt ist die Frage, wie ich weiter vorgehen soll, denn wenn ich mit startActivity() Act1 neu aufrufe, wird bei dem die onCreate()-Methode aufgerufen, wenn ich nicht ganz falsch liege.
Wie mache ich das jetzt, dass Act2 von Act1 aus geschlossen wird, im Klartext muss ich Act1 klar machen, dass Act2 offen war, Act1 gestartet wurde und jetzt Act2 geschlossen werden soll.

Ich will ja nicht, dass wenn ich die App normal starte, in der onCreate()-Methode von Act1 versucht wird, Act2 zu schließen, es ist ja noch nie bis dahin geöffnet worden.

Soll ich jetzt über Intent.putExtra() versuchen mein Ziel zu erreichen oder anders? Ich blick bei manchen Tutorials über Intent nicht mehr so richtig durch .

Antworten
Daniel online
  • Forum-Beiträge: 282

13.07.2014, 12:38:24 via Website

Hey,
solche Probleme löst du am Besten so, dass du Act2 mit der Methode startActivityForResults() öffnest. Dann hast du in Act1 wiederrum eine Methode die dann von alleine aufgerufen wurde, wenn Act2 beendet ist. Dabei kannst du dann auch Daten mitgeben und einen Status setzen (Canceld, OK etc).

Du solltest dazu recht viele Tutorials finden können.

Viele Grüße,
Daniel

Andreas S.

Antworten
DroidGeek
  • Forum-Beiträge: 17

13.07.2014, 12:43:15 via Website

Perfekt genau das was ich gesucht habe vielen dank :D

Antworten