호출 활동에 결과를 반환해야하는 활동을 시작하려면 다음과 같이해야합니다. 시작한 활동에서 결과를 얻었음을 식별하려면 아래와 같이 요청 코드를 전달해야합니다.
startActivityForResult(new Intent(“YourFullyQualifiedClassName”),requestCode);
활동에서 setData()
결과를 반환하는 데 사용할 수 있습니다.
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();
그런 다음 다시 첫 번째 활동에서 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();
}
}
}
귀하의 의견에 따라 편집 :
세 개의 문자열을 반환하려면 Uri를 사용하는 대신 인 텐트로 키 / 값 쌍을 사용하여이를 따르십시오.
Intent data = new Intent();
data.putExtra("streetkey","streetname");
data.putExtra("citykey","cityname");
data.putExtra("homekey","homename");
setResult(RESULT_OK,data);
finish();
아래와 같이 onActivityResult 에서 가져 옵니다 .
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");
}
}
}