没有足够的信息来推断类型变量 T

Cas*_*Gab 5 android kotlin build.gradle

我今天已将 build.gradle 文件更新为最新版本的
类路径 'com.android.tools.build:gradle:3.6.3' 和最新的 ext.kotlin_version = '1.3.72' 并且我收到以下错误标题在:instance()。

private val viewModelFactory: ListViewModelFactory by instance()
Run Code Online (Sandbox Code Playgroud)

这是我的工厂类:

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
    }
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么会发生这种情况以及我如何摆脱错误。先感谢您!

PS如果有任何帮助,我使用kodein,这是我的绑定

bind() from provider { ListViewModelFactory(instance()) }
Run Code Online (Sandbox Code Playgroud)

小智 10

你能试一下吗
private val viewModelFactory by instance<ListViewModelFactory>()