티스토리 뷰

안드로이드

ViewModel Fragment에서 초기화

성현아빠 2020. 4. 1. 08:10

Activity에서는 ViewModel에 저장된 값이 나오는데, Activity 위에 띄운 Fragment에서 ViewModel의 값이 안보이는 문제가 발생했다. 구조를 변경해야 하나 고민하던 차에 ViewModel 설정에 문제가 있음을 발견. 다행이다.

 

Activity에서 ViewModel 설정

myViewModel = ViewModelProvider(owner, NewInstanceFactory()).get(MyViewModel::class.java)

 

Fragment에서 ViewModel 설정

myViewModel = activity?.run {
            ViewModelProvider(this, ViewModelProvider.NewInstanceFactory()).get(MyViewModel::class.java)
} ?: throw Exception("Invalid Activity")

 

MyViewModel - ViewModel class name

'안드로이드' 카테고리의 다른 글

Toolbar Home Indicator Icon 변경  (0) 2020.04.24
TabLayout의 Tab크기 균등분할(?)  (0) 2020.04.22
android.widget.Button 동그라미 만들기, 색상변경  (0) 2020.02.28
Bitmap to Byte Array  (0) 2020.02.21
이미지파일 보기  (0) 2020.01.09