일단, 이전 버전의 fragment 는 잘 모르겠고
andorid.support.v4.app.Fragment 를 이용했다면 분명, Fragment에서도 startActivityForResult가 잘 동작해야 한다.
그런데 이게 fragment 내에 정의된 onActivityResult로 안 온다?! 옴마나?!
싶을 때는 해당 fragment의 상위 activity 코드를 열어보자.
만약, Activity에 onActivityResult method가 override 되어있다면 (사실 만약이 아니고 무조건 그럴 거임)
해당 onActivityResult 코드에 super.onActivityResult 가 빠져있는지 확인해보자. (아마 빠져있을 거임 ㅎㅎ)
알아보니 startActivityResult의 결과는,
먼저 Activity 의 onActivityResult 를 거쳐서 fragment 의 onActivityResult 로 넘어오는 것 같다. (노확실 영어못함)
그리고 그 fragment로 넘겨주는 부분이 Activity 의 onActivityResult 에 정의되어 있는 듯.
그러니 fragment 의 상위 activity 가 onActivityResult를 아예 override 하고 있지 않거나, super.onActivityResult 를 제대로 호출해주고 있다면
fragment 까지 잘 넘어가겟지만,
그렇지 않다면 아예 fragment 의 onActivityResult로 넘어갈 기회조차 잃는 것..
method override 하면서 super.~ 를 지울 때에는 막 지우지말고 역할이 뭔지 판단 후에 지우는 습관을 들이는 것이 좋을 것 같다.
'Kotlin' 카테고리의 다른 글
코틀린 키해쉬 구하기 (0) | 2021.04.30 |
---|---|
1. Kotlin 버튼 사용 OnClickListener (0) | 2020.12.17 |
코틀린 프래그먼트, 뷰페이저 프래그먼트 갱신 (0) | 2019.04.25 |
코틀린 라디오그룹 RadioGroup (0) | 2019.04.19 |
코틀린 안드로이드 JsonArray 를 php 로 보내기 (0) | 2019.03.01 |