Ich habe eine Location
Aktivität, die von vielen Aktivitäten wie Sign up
und aufgerufen werden kann Order
. In der Location
Aktivität gibt der Benutzer seinen Standort ein, sodass die Aktivität Location
diesen neuen Standort an die Aktivität zurückgibt, die ihn aufgerufen hat.
Wenn die Sign up
Aktivität die Aktivität aufruft Location
, muss sie die Daten an die Sign up
Aktivität zurückgeben. Ein anderes Mal wird die Order
Aktivität dasselbe tun.
Hinweis
Ich weiß, dass Sie mir sagen werden, dass ich den Code veröffentlichen soll, aber ich bitte Sie nicht, mir den Code zu geben. Ich möchte nur ein paar Tipps, Links oder gute Themen.
android
android-activity
onactivityresult
Benutzer Benutzer
quelle
quelle
Antworten:
Um eine Aktivität zu starten, die das Ergebnis zur aufrufenden Aktivität zurückgeben soll, sollten Sie Folgendes tun. Sie sollten den Anforderungscode wie unten gezeigt übergeben, um festzustellen, ob Sie das Ergebnis der von Ihnen gestarteten Aktivität erhalten haben.
In der Aktivität können Sie das
setData()
Ergebnis zurückgeben.Also schreiben Sie in der ersten Aktivität den folgenden Code in onActivityResult ()
BEARBEITEN Sie basierend auf Ihrem Kommentar: Wenn Sie drei Zeichenfolgen zurückgeben möchten, verwenden Sie anschließend Schlüssel / Wert-Paare mit Absicht, anstatt Uri zu verwenden.
Holen Sie sie in onActivityResult wie folgt :
quelle
requestcode
kann ich in eine ganze Zahl setzen?new Intent(this, OtherActivity.class);
Ich kann diesen Code in einer Aktivität verwenden.Wenn Sie fertig sein und nur ein
resultCode
(ohne Daten) hinzufügen möchten , können SiesetResult(int resultCode)
vorher anrufenfinish()
.Beispielsweise:
Überprüfen Sie dann in Ihrer Anrufaktivität,
resultCode
ob wir in Ordnung sind.Vergessen Sie nicht, die Aktivität mit anzurufen
startActivityForResult(intent, someCustomRequestCode)
.quelle
Activity.RESULT_OK
ist tatsächlich-1
für den Fall, dass das jemanden verwirrt. Ich würde nur vorschlagen, dieActivity
Konstanten zu verwenden