Моей модели представления необходимо передать аргумент при создании экземпляра из активности(
Код: Выделить всё
onCreateКод: Выделить всё
viewModel =ViewModelProviders.of(this,
NoteViewModelFactory(application!!,
uid = intent!!.getStringExtra("uid")!!))
.get(NoteViewModel::class.java)
Код: Выделить всё
viewModel = ViewModelProviders.of(activity!!).get(NoteViewModel::class.java)
Код: Выделить всё
val noteModule = module(override = true) {
viewModel { (id: String) -> NoteViewModel(androidApplication(), id) }
}
Код: Выделить всё
private val viewModel: NoteViewModel by viewModel { parametersOf(intent!!.getStringExtra("uid")!!) }
Код: Выделить всё
private val viewModel: NoteViewModel by sharedViewModel()
java.lang.RuntimeException: невозможно начать действие
ComponentInfo{com.andor.navigate.notepad/com.andor.navigate.notepad.listing.NotesActivity}:
org.koin.core.error.InstanceCreationException: не удалось создать
экземпляр для
[type:Factory,primary_type:'com.andor.navigate.notepad.core.NoteViewModel']
в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
на android.app.ActivityThread.-wrap12(ActivityThread.java)
на android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
на android.os.Handler.dispatchMessage(Handler.java:102)
на android.os.Looper.loop(Looper.java:154)
на android.app.ActivityThread.main(ActivityThread.java:6119)
на java.lang.reflect.Method.invoke(Native Method)
на com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Причина: org.koin.core.error.InstanceCreationException: не удалось создать экземпляр для
[type:Factory,primary_type:'com.andor.navigate.notepad.core.NoteViewModel']
на org.koin.core.instance.DefinitionInstance.create(DefinitionInstance.kt:61)
на org.koin.core.instance.FactoryDefinitionInstance.get(FactoryDefinitionInstance.kt:37)
на org.koin.core.definition.BeanDefinition.resolveInstance(BeanDefinition.kt:70)
на org.koin.core.scope.Scope.resolveInstance(Scope.kt:165)
Я не могу понять, как решить эту проблему с помощью KOIN.
P.S: я новичок в коин DI.
Подробнее здесь: https://stackoverflow.com/questions/567 ... c-use-case
Мобильная версия