[Kotlin] Fragment에서 Activity의 ViewModel을 사용하기

개발세발·2022년 11월 29일
0

안드로이드개발

목록 보기
3/5

앞선 ViewModel사용하기 에서는 ViewModel을 사용하기 위해 복잡한 과정을 거쳤다.



이전 글에서의 ViewModel 초기화

private val viewModel by lazy {
        ViewModelProvider(this).get(MainViewModel::class.java)
}

위와 같은 방식으로 초기화를 할 때는 ViewModelProvider을 통해서 초기화를 진행했다. 하지만 이런 방식은 반복적으로 하기엔 귀찮을 수 밖에 없다.

이를 대체 할 방법을 알게되어 기록해놓는다.

1. [ktx] 라이브러리 추가

def ktx_version = "1.5.4"

implementation "androidx.fragment:fragment-ktx:$ktx_version"

fragment-ktx의 최신버전은 공식문서에서 확인 가능하다.

2. by viewModels 키워드 사용

private val myViewModel by viewModels<CountViewModel>()

fragment-ktx 라이브러리를 통해 by viewModels 키워드를 사용하면 복잡한 ViewModelProvide을 통한 초기화 과정을 거치지 않아도 된다.

profile
좋은 개발자가 되기 위한 세 걸음

0개의 댓글