Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 안드로이드 라이선스
- android retrofit login
- 안드로이드 유닛테스트란
- 스택 큐 차이
- rxjava hot observable
- 서비스 vs 쓰레드
- 안드로이드 유닛 테스트
- ANR이란
- 스택 자바 코드
- 큐 자바 코드
- 2022 플러터 안드로이드 스튜디오
- 안드로이드 유닛 테스트 예시
- 안드로이드 레트로핏 crud
- 서비스 쓰레드 차이
- android ar 개발
- 2022 플러터 설치
- 객체
- 플러터 설치 2022
- 클래스
- 안드로이드 라이선스 종류
- 멤버변수
- 자바 다형성
- Rxjava Observable
- 안드로이드 os 구조
- ar vr 차이
- rxjava disposable
- rxjava cold observable
- jvm 작동 원리
- jvm이란
- 안드로이드 레트로핏 사용법
Archives
- Today
- Total
나만을 위한 블로그
[Android] Your activity is not yet attached to the Application instance. You can't request ViewModel before onCreate call 에러 해결 본문
Android
[Android] Your activity is not yet attached to the Application instance. You can't request ViewModel before onCreate call 에러 해결
참깨빵위에참깨빵 2022. 5. 3. 21:11728x90
반응형
이 에러는 뷰모델 선언을 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 라이브러리를 사용했을 때 이 에러가 발생하면 일단 이렇게 해보고 안되면 따로 구글링해보자.
반응형
'Android' 카테고리의 다른 글
Comments