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.
startActivityForResult(new Intent(“YourFullyQualifiedClassName”),requestCode);
In der Aktivität können Sie das setData()
Ergebnis zurückgeben.
Intent data = new Intent();
String text = "Result to be returned...."
//---set the data to pass back---
data.setData(Uri.parse(text));
setResult(RESULT_OK, data);
//---close the activity---
finish();
Also schreiben Sie in der ersten Aktivität den folgenden Code in onActivityResult ()
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == request_Code) {
if (resultCode == RESULT_OK) {
String returnedResult = data.getData().toString();
// OR
// String returnedResult = data.getDataString();
}
}
}
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.
Intent data = new Intent();
data.putExtra("streetkey","streetname");
data.putExtra("citykey","cityname");
data.putExtra("homekey","homename");
setResult(RESULT_OK,data);
finish();
Holen Sie sie in onActivityResult wie folgt :
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == request_Code) {
if (resultCode == RESULT_OK) {
String street = data.getStringExtra("streetkey");
String city = data.getStringExtra("citykey");
String home = data.getStringExtra("homekey");
}
}
}