繁体   English   中英

Jetpack Compose - 未解决的参考:observeAsState

[英]Jetpack Compose - Unresolved reference: observeAsState

我正在学习 Jetpack Compose,我试图为我的 @Composable 创建一个 View Model。

在文档( https://developer.android.com/codelabs/jetpack-compose-state#3 )中用于观察observeAsState在他们使用的可组合方法中的变化,但在我的实现中找不到。 我得到了Unresolved reference: observeAsState

视图模型

class MainActivityViewModel : ViewModel() {
    val list: LiveData<MutableList<String>> = MutableLiveData(mutableListOf("Ana", "are", "mere"))

    fun addString(item: String) {
        val list: MutableList<String> = list.value!!
        list.add(item)
    }

}

可组合的在此处输入图像描述

我正在使用 Compose 1.0.0-beta01

observeAsStateruntime-livedata库的一部分。

将依赖项添加到模块的build.gradle文件中。 $compose_version替换为您使用的 compose 版本,例如1.0.0-beta01

implementation "androidx.compose.runtime:runtime-livedata:$compose_version"

您可以在 Google 的 Maven 存储库中找到可用的版本。

不完全回答您的问题,但作为建议,您可以迁移到 Flow 而不是使用实时数据。

视图模型->

val yourList: MutableStateFlow<List<String>> = MutableStateFlow(listOf("String1","String2","String3"))

可组合 ->

val yourList by yourViewModel.yourList.collectAsState()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM