profile image

L o a d i n g . . .

반응형

 

onActivityResult를 사용하기 위해 startActivityForResult를 통하여 뷰를 이동시켜야 하는데

 

activity값을 넘겨주지 못해 조금 고생하였다. 그래서 다음에는 이런 일이 일어나지 않게 기록을 남긴다.

 

import를 해서 타서 상위로 올라가보니 이 메소드가 실행이 되고 있었다.

 

public static void startActivityForResult(@NonNull Activity activity, @NonNull Intent intent,
            int requestCode, @Nullable Bundle options) {
        if (Build.VERSION.SDK_INT >= 16) {
            activity.startActivityForResult(intent, requestCode, options);
        } else {
            activity.startActivityForResult(intent, requestCode);
        }
    }

간단하게 기기의 안드로이드 버전에 따라 분기를 태운건데 일단 막히는 부분이 매개변수의 Activity였다.

 

테스트를 해본 결과 MainActivity에서는 intent와 requestCode만 넘겨주면 되었다.

 

그런데 내가 만든 customLayout에서는 위와 같이 넘겨주어야 했다.

 

결과적으로..!

startActivityForResult((context as Activity), intent, 100, null)

Activity의 자리에 저렇게 넘겨주면 되었던 것이다.

 

테스트 해보니 onActivityResult에도 잘 들어오고 있었다.

 

마지막의 options에는 bundle타입을 넣어줘야 하는 것 같은데 Nullable이라 null을 넘어도 문제없었다.

반응형
복사했습니다!