Android
[Android] Your activity is not yet attached to the Application instance. You can't request ViewModel before onCreate call 에러 해결
참깨빵위에참깨빵_
2022. 5. 3. 21:11
728x90
반응형
이 에러는 뷰모델 선언을 onCreate() 밖에서 했기 때문에 발생하는 에러다. 에러를 한글로 번역해보면 무슨 뜻인지 안다.
활동이 아직 애플리케이션 인스턴스에 연결되지 않았습니다. onCreate 호출 전에 ViewModel을 요청할 수 없습니다
해결법은 그냥 뷰모델을 만드는 코드를 onCreate() 안에 넣으면 된다.
class CoinActivity : AppCompatActivity() {
val TAG = this.javaClass.simpleName
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_coin)
val viewModel: CoinViewModel = ViewModelProvider(this).get(CoinViewModel::class.java)
.
.
.
이렇게 하면 에러는 사라진다. 단, 이것은 Dagger2나 Koin 같은 DI 라이브러리를 사용하지 않은 상태에서 발생한 에러다. DI 라이브러리를 사용했을 때 이 에러가 발생하면 일단 이렇게 해보고 안되면 따로 구글링해보자.
반응형