Ich versuche, einen Wert aus Activity3 zu Activity1 abgerufen. Dies ist mein Flow:So senden Sie einen Wert zwischen mehreren Aktivitäten auf Android
Activity1 ruft Activity2 → Activity2.finish(), rufen Aktivität3 → Activity3.doSomethingAndGetValue() → Activity3.finish() → Activity1.useDoSomethingAndGetValue();
Ich kann den Weg nicht finden, die Werte von Activity3 zu Activity1 zurückzusenden; Selbst mit startActivityForResult(), weil Activity2 zu diesem Zeitpunkt bereits zerstört war.
Ich habe versucht, eine serialisierbare Schnittstelle zu verwenden und dies als zusätzlichen Wert für die Absicht übergeben, aber diese Lösung funktioniert nur mit dem übergebenen Objekt ist eine statische, die mir keine Änderung in den aktuellen Elementvariablen auf Aktivität 1.
Außerdem habe ich Erfolg, ohne all diese Möglichkeiten versucht:
https://stackoverflow.com/a/17306696/3217203
(ich zulassen, dass für dieses gemeinsame Präferenzen verwenden)
hat jemand eine hat Deine Idee?
Hinweis: Ich kann EventBus nicht hinzufügen, ich weiß, wäre toll und viel einfacher, aber die Architektur hat mir nicht erlaubt.
[EventBus] (http://greenrobot.org/eventbus/) scheint hier anwendbar –
Sie könnten 'startActivityForResult' versuchen, aber ein Event-Bus als @ cricket_007 vorgeschlagen könnte besser sein –
BTW: Ich kann eventBus, ich nicht hinzufügen Ich weiß, es wäre großartig und viel einfacher, aber die Architektur hat es mir nicht erlaubt. –