我今天已经将我的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编译器"中禁用新的类型推断。