Untuk memulai suatu kegiatan yang harus mengembalikan hasil ke aktivitas panggilan, Anda harus melakukan sesuatu seperti di bawah ini. Anda harus melewati kode permintaan seperti yang ditunjukkan di bawah ini untuk mengidentifikasi bahwa Anda mendapatkan hasil dari aktivitas yang Anda mulai.
startActivityForResult(new Intent(“YourFullyQualifiedClassName”),requestCode);
Dalam aktivitas, Anda dapat menggunakan setData()
untuk mengembalikan hasil.
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();
Jadi sekali lagi dalam aktivitas pertama Anda menulis kode di bawah ini di 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();
}
}
}
Sunting berdasarkan komentar Anda:
Jika Anda ingin mengembalikan tiga string, ikuti ini dengan memanfaatkan pasangan kunci / nilai dengan maksud alih-alih menggunakan Uri.
Intent data = new Intent();
data.putExtra("streetkey","streetname");
data.putExtra("citykey","cityname");
data.putExtra("homekey","homename");
setResult(RESULT_OK,data);
finish();
Dapatkan mereka di onActivityResult seperti di bawah ini:
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");
}
}
}