본문 바로가기

[Android/Error] 안드로이드 ViewModelProvider 에러발생

꿈꾸는블로그왕 2021. 1. 31.

VIewModel을 사용하던 중 에러가 발생했습니다.

에러가 발생했던 코드 부분입니다. MainViewMdoel를 생성할 때  찾을 수 없다는 에러였습니다.

 

mainViewModel = ViewModelProvider(this).get(MainViewModel::class.java)

파라미터로 owner 객체뿐만 아니라 factory 객체를 만들어서 넘겨서 같이 해결했습니다.

 

[MainActivity.kt]

mainViewModel = ViewModelProvider(this, 
	MainViewModel.Factory(application)).get(MainViewModel::class.java)

[MainViewModel.kt]

class Factory(
    private val application: Application
) : ViewModelProvider.Factory {
    override fun <T : ViewModel?> create(modelClass: Class<T>): T {
        return MainViewModel(application) as T
    }

}

댓글