2011-01-04 21 views
9

Ich möchte etwas Hilfe beim Senden von Daten zurück zu einem Activity, die bereits ausgeführt wird.Daten zurück zu einer vorherigen Aktivität senden

Ich möchte der Benutzer in der Lage sein, eine Option aus einer Liste auszuwählen und dann diese Auswahl in einer früheren Aktivität verwendet werden. Ich weiß, wie man das macht, indem ich Intents anwende, aber ich kann nicht sehen, wie das in diesem Fall funktionieren würde, ohne eine willkürliche Anzahl der gleichen Aktivitätsfenster zur gleichen Zeit zu haben.

Sortieren wie Ändern der Einstellungen im Telefon, aber mehr Zugriff auf eine Zeichenfolge. Wenn Sie weitere Informationen benötigen, fragen Sie einfach.

Antwort

7

Es gibt zwei Möglichkeiten, dies zu tun, ist die erste, anstatt Aufruf startActivity(), rufen startActivityForResult(), ist es das, was die Dokumentation darüber zu sagen hat:

Manchmal möchte man eine bekommen Ergebnis von einer Aktivität zurück, wenn es endet. Sie können beispielsweise eine Aktivität starten, bei der der Benutzer eine Person in einer Kontaktliste auswählen kann. Wenn es endet, gibt es die ausgewählte Person zurück. Um dies zu tun, rufen Sie die startActivityForResult (Intent, int) Version mit einem zweiten Integer-Parameter auf, der den Aufruf identifiziert. Das Ergebnis wird über die Methode onActivityResult (int, int, Intent) zurückgegeben. eine broadcastReceiver() in der ursprünglichen Aktivität

http://developer.android.com/reference/android/app/Activity.html

Der andere Weg, es zu tun ist, eine Sendung am Ende Ihrer Tätigkeit zu senden, und registrieren.

1

Wenn Sie die zweite Aktivität mit startActivityForResult() anstatt startActivity starten, dann, wenn die zweite Aktivität abgeschlossen ist können Sie ein resultCode und ein Intent gesetzt. Es wird dann rufen Sie die Methode:

protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 
} 

in Ihrem ersten Activity, wo Sie die resultCode und die Intent Daten lesen kann

Verwandte Themen