솜은 코튼
[Android] startActivityForResult / onActivityResult 본문
startActivityForResult이란?
: 액티비티 간의 데이터를 전달하는 방법
그 결과를 받아 처리하는 부분이 onActivityResult이다.
즉, Activity1에서 startActivityForResult를 이용하여 Activity2로 화면 전환을 하고
Activity2가 finish()처리가 되면 Activity1의 onActivityResult로 데이터를 전달해준다.
간단하게 예제를 들어보면 아래와 같다.
1. Test1Activity -> Test2Activity로 이동
1
2
3
|
Intent intent = new Intent(callerObject, TestActivity1.class);
intent.putExtra("msg","test");
callerObject.startActivityForResult(intent, TEST_CODE);
|
cs |
2. Test2Activity -> Test1Activity로 데이터 전달 후 finish()
1
2
3
4
|
Intent intent = new Intent();
intent.putExtra("result", "msg value");
setResult(RESULT_OK, intent);
finish();
|
cs |
3. Test1Activity에 onActivityResult를 Override 후 데이터 받기
1
2
3
4
5
6
7
8
|
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d(LOG_TAG, "requestCode => " + requestCode);
Log.d(LOG_TAG, "resultCode => " + resultCode);
Log.d(LOG_TAG, "resultData => " + data.getStringExtra("result"));
}
|
cs |
[결과값]
requestCode => TEST_CODE 값
resultCode => -1
resultData => msg value
'Android > Java' 카테고리의 다른 글
[Android] Android Studio Offline Mode 설정 (0) | 2021.01.07 |
---|---|
[Android] Google Login API 적용 방법 (0) | 2021.01.05 |
[Android] Microsoft MAM 적용 방법 (0) | 2020.10.08 |
[Android] Android Studio Java 버전 교체 방법 (0) | 2020.08.31 |
[Java] 객체지향 프로그래밍 (0) | 2020.07.18 |