관리 메뉴

나만을 위한 블로그

[Android] Glide 사용 시 You cannot start a load on a not yet attached View or a Fragment where getActivity() returns null (which usually occurs when getActivity() is called before the Fragment is attached or after the Fragment is destroyed) 에러 .. 본문

Android

[Android] Glide 사용 시 You cannot start a load on a not yet attached View or a Fragment where getActivity() returns null (which usually occurs when getActivity() is called before the Fragment is attached or after the Fragment is destroyed) 에러 ..

참깨빵위에참깨빵_ 2020. 4. 22. 19:20
728x90
반응형

참고한 사이트 : https://stackoverflow.com/questions/45388325/you-cannot-start-a-load-on-a-not-yet-attached-view-or-a-fragment-where-getactivi

 

You cannot start a load on a not yet attached View or a Fragment where getActivity() returns null

I am using FragmentStatePagerAdapter to show around 5 fragments in an activity.On each activity I am showing the images which I am fetching from FirebaseListAdapter/FirebaseRecyclerAdapter. As it is

stackoverflow.com

Glide를 써서 서버에서 받아온 이미지를 인텐트를 통해 다른 액티비티로 넘겨, 그 곳의 이미지뷰에 출력해야 했다.

내가 작성했던 코드는 이렇다.

 

 

그런데 이렇게 작성하고 앱을 빌드했지만 작동하지 않고 제목과 같은 에러를 뿜었다.

구글에 검색하니 스택 오버플로우의 글이 눈에 띄었는데, 답변자의 댓글에선 getActivity() 함수를 사용하고 있었다.

하지만 이건 프래그먼트를 쓰기 때문에 getActivity()를 쓰는 것이고, 액티비티를 쓰는 경우에는 어떻게 해야 할지 고민했다.

그래서 떠오른 게 XXXActivity.this를 쓰는 것이다. 그래서 context 부분을 지우고 "XXXActivity.this"를 썼다.

이렇게 하니 잘 작동한다.

 

결론 : with() 안에 context 전역변수를 쓰는 게 아니라 'XXXActivity.this)를 쓰니 해결됐다.

반응형
Comments