카카오맵에서 라벨(마커)를 눌렀을때 bottomSheet가 나오는데,
마커를 눌렀을때 지역에 따라 bottomSheet의 데이터가 다르게 나왔으면 했다
마커를 눌렀을때 MapFragment에서 데이터를 받아오는것까지는 성공했다
그런데 그 받아온 데이터를 뿌려줄곳이 MapFragment가 아니라 BottomSheetFragment였다.
즉, 서로 다른 Fragment에서 같은 viewModel데이터를 공유해야되는 상황이였다
그럴땐 sharedViewModel을 사용해서
viewModel을 선언할때 activityViewModels()로 선언하면, 서로 다른 Fragment에서 같은 viewModel데이터를 공유해서 사용할 수 있다!!!
(한쪽 프래그먼트에서는 Data를 Update하고, 다른 한 프래그먼트에서는 Observing하여 view의 변화를 주려면 sharedViewModel 사용!!!)
private val sharedMapViewModel : MapViewModel by activityViewModels()
어떻게해야될지 몰라서 어제 하루종일 고민했는데... 역시 직접 고민하고 삽질해봐야지 진짜 깨닫는것같다....
아직 많이 부족하군 어럅다ㅠㅠㅠ
'개발 노트 > Kotlin' 카테고리의 다른 글
[Android] File google-services.json is missing 에러 (0) | 2024.08.17 |
---|---|
[안드로이드 스튜디오 SDK 에러] SDK location not found. (0) | 2024.08.03 |
[Android/Kotlin] StateFlow -> launchWhenCreated deprecated 해결 (0) | 2024.05.31 |
[Android] 로그캣 오류가 세로로 뜨는 이상한 문제 (0) | 2024.05.31 |
[Android/Kotlin]Kakao 주소검색 API 사용해서, 지도에서 지역검색 데이터 받아오기 (0) | 2024.05.30 |