Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Koin
- 안드로이드
- 올인원타이머
- 뷰 상태복구
- 뷰 상태 저장
- Quickly
- 카드내역 공유
- 특가알람
- 특가게시판
- 안드로이드 클린 아키텍쳐
- onViewCreated
- 카드 내역 공유 앱
- 특가촌
- kotlin
- RX
- compileKotlin FAILED
- andorid
- 대학톡
- 작성
- Android
- moveToState
- java.lang.OutOfMemoryError: Java heap space
- RxJava
- 타이머앱
- nvidia-docker
- recyclerview
- todofication
- fragment
- List
- android clean architecture
Archives
- Today
- Total
seoft
koin viewModel in activity, fragment 본문
koin activity의 viewmodel을 fragment에서도 공유하여 사용 할 경우 fragment에서 by viewModel 대신 by sharedViewModel 사용
단, fragment에서만 사용하는 viewmodel을 사용 하는 경우 by viewModel 으로 사용 가능
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// in koin module | |
val viewModelModule = module { | |
viewModel { MainViewModel() } | |
} | |
// in activity | |
val mainViewModel by viewModel<MainViewModel>() | |
// in fragment created from activity | |
val mainViewModel by sharedViewModel<MainViewModel>() | |
추가로 Activity에서 viewModel 를통해 초기화 한 뷰모델을 Fragment에서 by sharedViewModel를 통해 작업한다 하더라도 해당 뷰모델의 생성은 두번 되지 않고 Activity에서 생성한 뷰모델을 공유해서 사용한다.
뷰모델에 parametersOf 를 통해서 생성에 필요한 인자를 전달해주는데 sharedViewModel를 통해 생성할때는 뷰모델이 추가적인 인자가 필요한 상황에도 따로 parametersOf 를 따로 쓰지 않아도 된다.
'android' 카테고리의 다른 글
list의 아이템 중 set의 아이템이 1개이상 포함되는지 여부 체크(kotlin) (0) | 2020.04.07 |
---|---|
Date 차이에 따른 String 출력(지금 막, n초 전, n분 전, n시간 전, 어제 등등) (0) | 2020.03.21 |
rxjava 이용한 다중 터치 방지하기 (0) | 2020.02.27 |
kotlin extension 응용 (0) | 2020.02.19 |
kotlin list 조합하여 immutable list 만들기 (0) | 2020.01.17 |
Comments