- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试遵循 Kotlin 中 ViewModels 的官方 Android 指南。
我从字面上复制粘贴了最简单的official example但语法似乎是非法的。
本节导致问题:
private val users: MutableLiveData<List<User>> by lazy {
MutableLiveData().also {
loadUsers()
}
}
预览给了我这个错误:
Property delegate must have a 'getValue(DashViewModel, KProperty*>)' method. None of the following functions is suitable.
如果我想启动应用程序,我会收到此错误:
Type inference failed: Not enough information to infer parameter T in constructor MutableLiveData<T : Any!>()
Please specify it explicitly.
我不明白这两个错误和其他具有相同错误的问题似乎是由不同的东西引起的。我的猜测是
MutableLiveData().also
导致问题,但我不知道为什么。考虑到这是一个官方的例子,这很奇怪。
最佳答案
您似乎没有声明 User
类(class)。
第二个问题是yet another documentation bug ,并且您需要在 MutableLiveData
中提供类型构造函数调用。
所以,这有效:
package com.commonsware.myapplication
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
class User
class MainViewModel : ViewModel() {
private val users: MutableLiveData<List<User>> by lazy {
MutableLiveData<List<User>>().also {
loadUsers()
}
}
fun getUsers(): LiveData<List<User>> {
return users
}
private fun loadUsers() {
// Do an asynchronous operation to fetch users.
}
}
This is quite odd considering that this is an official example.
关于android - Kotlin Android : Property delegate must have a 'getValue(DashViewModel, KProperty*>)' method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62855008/
我目前正在构建一个用 Kotlin 编写的图书馆项目。当我导出 .aar 文件并在项目上编译时,我收到以下引用 by lazy lambda 的错误。 我在示例应用程序中遇到的错误 Rejecting
我正在尝试根据用户的选择来设置我的应用程序的主题。它可以是深色主题或浅色主题。 我将 viewModel 创建为: class ThemeViewModel(application: Applicat
//getting an error in android studio when using lazy for getStringExtra private val name : String by
我正在编写一个jetpack compose android应用程序,我需要永久存储一些设置。 我决定使用 androidx.datastore:datastore-preferences:1.0.0
我正在尝试实现 JavaFX Property与委托(delegate)的 Kotlin 属性接口(interface),以便可以像这样使用它: class Foo(bar:Bar){ val
我正在尝试遵循 Kotlin 中 ViewModels 的官方 Android 指南。 我从字面上复制粘贴了最简单的official example但语法似乎是非法的。 本节导致问题: private
我正在尝试使用 jetpack compose 中的 observeAsState 从 LiveData 中获取值,但出现了一个奇怪的错误 Type 'State' has no method 'ge
我是一名优秀的程序员,十分优秀!