Недостаточно информации для определения переменной типа T - PullRequest
0 голосов
/ 21 апреля 2020

Сегодня я обновил свой файл build.gradle до последней версии
classpath 'com. android .tools.build: gradle: 3.6.3' и до последней версии ext.kotlin_version = '1.3.72' и Я получаю следующую ошибку в заголовке: instance ().

private val viewModelFactory: ListViewModelFactory by instance()

Это мой класс Factory:

class ListViewModelFactory(
    private val listRepository: ListRepository
) : ViewModelProvider.NewInstanceFactory() {

    @Suppress("UNCHECKED_CAST")
    override fun <T : ViewModel?> create(modelClass: Class<T>): T {
        return ListViewModel(listRepository) as T
    }
}

Может кто-нибудь объяснить, почему это произошло и как я могу это сделать? избавиться от ошибки. Заранее спасибо!

PS Если мне нужна помощь, я использую кодеин и вот моя привязка

bind() from provider { ListViewModelFactory(instance()) }

Ответы [ 2 ]

0 голосов
/ 03 мая 2020

Чтобы избежать этой проблемы, отключите вывод нового типа в «Предпочтения | Kotlin Компилятор» в IDE.

0 голосов
/ 27 апреля 2020

можешь попробовать private val viewModelFactory by instance<ListViewModelFactory>()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...