-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
해결됨
Fragment UserViewFragment{755083c (97350660-0d15-4791-b814-9fd04e9c5cc3)} not attached to a context 오류문의
20.09.28 15:36 작성 조회수 194
2
밑에 써 주신 분이 있지만 정확한 답변을 듣지 못해 제가 다시 질문글을 올립니다.
팔로우을 하고 본인 account 프레그먼트에 가서 확인한 다음 다시 팔로우를 취소하게 되면 팔로우는 취소 되지만 어플이 크러시가 납니다.
account 뿐만 아니라 다른 프레그먼트들로 이동한 후 팔로우를 취소했을 시에도 똑같은 반응이 나오는데 어떻게 해결해야 하나요??
답변을 작성해보세요.
1
김지뇽쓰
질문자2021.02.22
저는
override fun onDestroy() {
super.onDestroy()
registration!!.remove()
}
이렇게 사용하고 있습니다~
액티비티나 프래그먼트의 생애주기에 따라 화면이 사라지는 부분에서 remove를 해주면 됩니다
registration은
var registration: ListenerRegistration? = null
이렇게 전역으로 선언하고 스냅샷으로 사용하면 됩니다
registration = firestore!!.collection("reunions").document(reunionUid).addSnapshotListener { value, error ->
if (value == null) return@addSnapshotListener
reunionDTO = value.toObject(ReunionDTO::class.java)!
}
1
JaeChul Lee
2021.02.22
저도 같은 오류가 나는데
어디서 뭘 어떻게 remove 시켜줘야하는건지
도통 모르겠네요 ㅜㅜ
코드로 좀 알려주시면 정말 감사하겠습니다~!!
1
하울
지식공유자2020.10.10
remove은 Activity 생명주기에 맞춰줘서 주면 됩니다. Remove코드를 onStop에 넣어주고 읽어주는 Snapshot 코드를 onStart에 넣어주면 됩니다.
1
하울
지식공유자2020.10.01
그 이유는 디비를 감시하는 remove를 통해서 스냅삿을 꺼줘야 합니다.
https://firebase.google.com/docs/firestore/query-data/listen#kotlin+ktx_4 링크 참고하세요
0
0
0
답변 7