일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 안스
- 안드로이드스튜디오
- 웹뷰
- Github
- image
- RecyclerView
- 스튜디오
- 코틀린
- studio
- ADB
- coroutine
- 안드로이드 스튜디오
- build
- 의존성주입
- viewpager
- MVVM
- error
- 유튜브
- GIT
- WebView
- 깃헙
- 안드로이드
- Android
- 레트로핏
- Kotlin
- 에러
- dart
- Retrofit
- 코루틴
- Gradle
- Today
- Total
목록ViewModelProvider (3)
코딩하는 일용직 노동자
액티비티나 프래그먼트 내에서 ViewModel을 사용하려면 ViewModelProvider를 이용해 ViewModel을 생성해 사용할 수 있습니다. ViewModel을 생성할때는 파라메터가 있을때와 없을때의 생성방법이 차이가 있습니다. 파라메터가 없는 ViewModel은 아래처럼 생성이 가능합니다. val viewModel: MainActivityViewModel by lazy { ViewModelProvider(this)[MainActivityViewModel::class.java] } 하지만 MainActivityViewModel의 생성자에 파라메터가 있다면 위 방법으로 객체생성이 안됩니다. 테스트를 위해 Int형의 파라메터를 받는 MainActivityViewModel 클래스를 만들어보겠습니다. i..
생성자 없이 ViewModel을 만들어 사용하는 것은 매우 간단합니다. 하지만 ViewModel을 이용하다보면 repository 나 인스턴스들을 파라메터로 넘겨서 생성하는 경우가 많습니다. 일단 간단히 name을 전달하는 ViewModel을 만들어 테스트 해보겠습니다. class ViewModelActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_view_model) try { var viewModel = ViewModelProvider(this).get(MyViewModel::cl..
최근 업데이트 후 멀쩡하던 new ViewModelProvider(this).get(MyAndroidViewModel.class) 에서 Cannot create an instance of class 에러가 발생했습니다. java.lang.RuntimeException: Cannot create an instance of class my.custom.viewmodel.CustomViewModel at androidx.lifecycle.ViewModelProvider$AndroidViewModelFactory.create(ViewModelProvider.java:202) at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.java:135) at an..