我正在尝试使用 jetpack compose 中的 observeAsState 从 LiveData 获取值,但我收到一个奇怪的错误
类型 'State<List?>' 没有方法 'getValue(Nothing?, KProperty<*>)',因此它不能作为委托
@Composable
fun UserScreen(userViewModel:UserViewModel){
val items: List<User> by userViewModel.fetchUserList.observeAsState()
UserList(userList = items)
}
Run Code Online (Sandbox Code Playgroud)
class UserViewModel: ViewModel() {
private val dataSource = UserDataSource()
val fetchUserList = liveData {
emit(dataSource.dummyUserList)
}
}
Run Code Online (Sandbox Code Playgroud) 我和我的团队必须制作一个车牌扫描应用程序作为学校项目。这样,我们就有了可以添加到货物中的评论和图片。每当用户扫描车牌时,他们还有机会更改检查的信息,以防出现错误。问题是,每当我们从扫描的车牌中删除数据时,它不会在屏幕上显示它已被删除,直到我们转到另一个屏幕。对于我们用来插入新的评论和图片实例的惰性列也是如此。在我们转动屏幕或返回另一个屏幕之前,数据不会显示在屏幕上。private val pictureList = mutableListOf() 是我们用于图片和文本的内容,我们使用 var CountryCode by Remember { mutableStateOf(CountryCodeText) } var licenseNumber by Remember { mutableStateOf(LicenseNumberText) }。pictureList 是全局变量,其他变量是在 mutableStateOf 中使用全局变量的局部变量。如何确保数据变化时 UI 也随之更新?我想提前对您的帮助表示感谢!(代码是用Kotlin和jetpack编写的)