일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Jetpack Compose
- 스플래시
- themes.xml
- room
- Binding Adapter
- TypeConverter
- imageview
- 개발자
- nav_graph
- asLiveData()
- recyclerview
- Livedata
- BottomNavigationView
- Navigation Component
- 일렉트론
- Gradle
- ViewModel
- Datastore
- 면접
- kotlin
- fragment
- 취업
- android studio
- 안드로이드
- 주석
- Safe Args
- hilt
- 테마
- electron
- Android
Archives
- Today
- Total
목록viewModels() (1)
나만 보는 일기장
[ViewModel] Activity와 Fragment간의 ViewModel 공유
간단한 게시판 앱을 만들면서 글 작성 페이지를 만들면서, 메인 액티비티에서 뷰 모델에 넣어놓은 유저의 토큰 값을 글 작성 프래그먼트에서는 불러오지 못하는 문제를 겪었는데, 같은 뷰 모델 클래스를 사용해 같은 객체를 사용할 것이라 생각한 게 실수였습니다. 뷰 모델을 생성할 때 모든 곳에서 by viewModels()로 받아오니 그 때마다 뷰 모델이 새로 생성되는 것으로 보입니다. 해결법은 by activityViewModels()로 부모 액티비티에 존재하는 뷰 모델을 가져오는 방식이었습니다. 부모 액티비티에서는 원래처럼 써주고 메인 액티비티의 ViewModel을 받을 Fragment에서는 by activityViewModels()로 부모 액티비티에서 생성된 뷰 모델을 받아오면 됩니다. 배운 곳: [Andr..
개발/Android
2021. 12. 2. 11:09