Notice
Recent Posts
Recent Comments
Link
티라미수 코딩생활
[Android] 갑자기 startActivityForResult 가 돌아오지 않는다? 본문
평소처럼 2010년에 탄생하신 어르신 앱을 유지보수 하고 있다가 문제가 하나 발생했습니다.
메인 화면에서 startActivityForResult 로 검색 창으로 넘어가서 setResult 로 데이터를 받아와 상세뷰로 넘어가야 하는데, 아무 문제 없던 기능이 갑자기 작동을 안하는 겁니다.
문제 발생
문제는 startActivityForResult 파라미터 중 하나인 requestCode 였습니다.
나는 분명 Fragment 에서 requestCode 를 1로 줬는데 돌아오는 값은 제각각 (25341, 65692 ... ) 이었습니다.
public void startActivityForResult (Intent intent, int requestCode)
원인 및 해결
int REQUEST_CODE = 1;
// startActivityForResult(intent, REQUEST_CODE);
getActivity().startActivityForResult(intent, REQUEST_CODE);
Fragment 에서 startActivityForResult 할 때는 꼭 getActivity() 를 붙여줘야 합니다.
Deprecated 된지 오래 된 기능이긴 하지만 아마도 이번에 31 대응을 하면서 발생한 오류로 보입니다.
'Programming > Android' 카테고리의 다른 글
[Android] LiveData 에서 쓰이는 setValue() & postValue() (0) | 2022.12.01 |
---|---|
[Android] App Test 간단하게 구현해보기! (feat. TDD) (0) | 2022.11.09 |
[Android] App Test 시작해보기 (0) | 2022.11.09 |
[Kotlin] Kotlin Flows in practice 보면서 이해 해보기 (1) (0) | 2022.11.03 |
[Kotlin] Data Class 에서의 var & val (0) | 2022.10.31 |
Comments