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



我今天已经将我的build.gradle文件更新为最新版本
classpath'com.android.tools.build:gradle:3.6.3'和最新的ext.kotlin_version='1.3.72'我在标题中得到以下错误:instance((。

private val viewModelFactory: ListViewModelFactory by instance()

这是我的工厂级:

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
}
}

有人能解释为什么会发生这种情况,以及我如何才能消除错误吗。提前谢谢!

附言:如果它有任何帮助,我使用kodein,这是我的绑定

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

您可以尝试
private val viewModelFactory by instance<ListViewModelFactory>()

试试这个:替换

private val factory : AuthViewModelFactory by instance()

private val factory by instance<AuthViewModelFactory>()

为了避免这个问题,请在IDE的"Preferences|Kotlin编译器"中禁用新的类型推断。

相关内容

  • 没有找到相关文章

最新更新