У меня есть модель общего представления для деятельности и ее фрагмент.onCreate< /code> только один раз) < /p>
viewModel =ViewModelProviders.of(this,
NoteViewModelFactory(application!!,
uid = intent!!.getStringExtra("uid")!!))
.get(NoteViewModel::class.java)
< /code>
Но из фрагмента мне не нужно передавать аргумент, так как я уверен, что у меня есть аргумент один раз. < /p>
viewModel = ViewModelProviders.of(activity!!).get(NoteViewModel::class.java)
< /code>
в коине < /code> я пытался сделать ниже. < /p>
val noteModule = module(override = true) {
viewModel { (id: String) -> NoteViewModel(androidApplication(), id) }
}
< /code>
В активности: < /p>
private val viewModel: NoteViewModel by viewModel { parametersOf(intent!!.getStringExtra("uid")!!) }
< /code>
в фрагменте: < /p>
private val viewModel: NoteViewModel by sharedViewModel()
< /code>
Приложение сбоееообошетка с ошибкой ниже: < /p>
java.lang.runtimeexception: невозможно Для начала активности
componentInfo {com.andor.navigate.notepad /com.andor.navigate.notepad.listing.noteSactivity}:
org.koin.core.error.instancecreationException: не может создать
Экземпляр для
[type: factory, promary_type: 'com.andor.navigate.notepad.core.noteviewmodel']
at android.app.activityThread.performLaUnchactivity (ActivityThread.java:2665)
at at android.app.activityThread.HandLeLaUnchActivity (ActivityThread.java:2726)
at android.app.activityThread.wrap12 (ActivityThread.java)
at android.app.activityThread $ H.HandLemessage (ActivityThread .java: 1477)
at android.os.handler.dispatchmessage (handler.java:102)
at android.os.looper.loop (looper.java:154)
at android. App.ActivityThread.main (ActivityThread.java:6119)
at java.lang.reflect.method.invoke (нативный метод)
at com.android.os.os.zygoteinit $ methodandargscaller.run (zygoteinit.os.zygoteinit $ .java: 886)
at com.android.internal.os.zygoteinit.main (zygoteinit.java:776)
вызван: org.koin.core.error.instancecreationException: не может создать экземпляр для
[type: factory, primary_type: 'com.andor.navigate.notepad.core.noteviewmodel']
at org.koin.core.instance.definitionInstance.create (designiNstance.kt: 61)
at org.koin.core.instance.factoryDefinitionInstance.get (factoryDefinitionInstance.kt: 37)
at org.koin.core.definition.beandefinition.resolveinstance (beandefination.kt: 70)
at org .koin.core.scope.scope.resolveinstance (scope.kt: 165) < /p>
< /blockquote>
Я не могу понять, как это решить Использование коина. < /p>
p.s: я новичок в Koin di.
Подробнее здесь: https://stackoverflow.com/questions/567 ... c-use-case
Как внедрить модель просмотра с помощью коина? (Для конкретного варианта использования) ⇐ Android
Форум для тех, кто программирует под Android
1738843570
Anonymous
У меня есть модель общего представления для деятельности и ее фрагмент.onCreate< /code> только один раз) < /p>
viewModel =ViewModelProviders.of(this,
NoteViewModelFactory(application!!,
uid = intent!!.getStringExtra("uid")!!))
.get(NoteViewModel::class.java)
< /code>
Но из фрагмента мне не нужно передавать аргумент, так как я уверен, что у меня есть аргумент один раз. < /p>
viewModel = ViewModelProviders.of(activity!!).get(NoteViewModel::class.java)
< /code>
в коине < /code> я пытался сделать ниже. < /p>
val noteModule = module(override = true) {
viewModel { (id: String) -> NoteViewModel(androidApplication(), id) }
}
< /code>
В активности: < /p>
private val viewModel: NoteViewModel by viewModel { parametersOf(intent!!.getStringExtra("uid")!!) }
< /code>
в фрагменте: < /p>
private val viewModel: NoteViewModel by sharedViewModel()
< /code>
Приложение сбоееообошетка с ошибкой ниже: < /p>
java.lang.runtimeexception: невозможно Для начала активности
componentInfo {com.andor.navigate.notepad /com.andor.navigate.notepad.listing.noteSactivity}:
org.koin.core.error.instancecreationException: не может создать
Экземпляр для
[type: factory, promary_type: 'com.andor.navigate.notepad.core.noteviewmodel']
at android.app.activityThread.performLaUnchactivity (ActivityThread.java:2665)
at at android.app.activityThread.HandLeLaUnchActivity (ActivityThread.java:2726)
at android.app.activityThread.wrap12 (ActivityThread.java)
at android.app.activityThread $ H.HandLemessage (ActivityThread .java: 1477)
at android.os.handler.dispatchmessage (handler.java:102)
at android.os.looper.loop (looper.java:154)
at android. App.ActivityThread.main (ActivityThread.java:6119)
at java.lang.reflect.method.invoke (нативный метод)
at com.android.os.os.zygoteinit $ methodandargscaller.run (zygoteinit.os.zygoteinit $ .java: 886)
at com.android.internal.os.zygoteinit.main (zygoteinit.java:776)
вызван: org.koin.core.error.instancecreationException: не может создать экземпляр для
[type: factory, primary_type: 'com.andor.navigate.notepad.core.noteviewmodel']
at org.koin.core.instance.definitionInstance.create (designiNstance.kt: 61)
at org.koin.core.instance.factoryDefinitionInstance.get (factoryDefinitionInstance.kt: 37)
at org.koin.core.definition.beandefinition.resolveinstance (beandefination.kt: 70)
at org .koin.core.scope.scope.resolveinstance (scope.kt: 165) < /p>
< /blockquote>
Я не могу понять, как это решить Использование коина. < /p>
p.s: я новичок в Koin di.
Подробнее здесь: [url]https://stackoverflow.com/questions/56766118/how-to-inject-view-model-using-koin-for-specific-use-case[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия