相关疑难解决方法(0)

类型 'State<List<User>?>' 没有方法 'getValue(Nothing?, KProperty<*>)',因此它不能作为委托

我正在尝试使用 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)

android kotlin android-jetpack android-jetpack-compose

68
推荐指数
8
解决办法
8719
查看次数

插入新数据时如何刷新可组合项?

我和我的团队必须制作一个车牌扫描应用程序作为学校项目。这样,我们就有了可以添加到货物中的评论和图片。每当用户扫描车牌时,他们还有机会更改检查的信息,以防出现错误。问题是,每当我们从扫描的车牌中删除数据时,它不会在屏幕上显示它已被删除,直到我们转到另一个屏幕。对于我们用来插入新的评论和图片实例的惰性列也是如此。在我们转动屏幕或返回另一个屏幕之前,数据不会显示在屏幕上。private val pictureList = mutableListOf() 是我们用于图片和文本的内容,我们使用 var CountryCode by Remember { mutableStateOf(CountryCodeText) } var licenseNumber by Remember { mutableStateOf(LicenseNumberText) }。pictureList 是全局变量,其他变量是在 mutableStateOf 中使用全局变量的局部变量。如何确保数据变化时 UI 也随之更新?我想提前对您的帮助表示感谢!(代码是用Kotlin和jetpack编写的)

kotlin android-jetpack-compose

5
推荐指数
1
解决办法
5087
查看次数