简体   繁体   English

Jetpack Compose - 未解决的参考:observeAsState

[英]Jetpack Compose - Unresolved reference: observeAsState

I'm learning Jetpack Compose and I was trying to make a View Model for my @Composable.我正在学习 Jetpack Compose,我试图为我的 @Composable 创建一个 View Model。

In documentation ( https://developer.android.com/codelabs/jetpack-compose-state#3 ) for observing state changes in composable they use observeAsState but in my implementation, the method cannot be found.在文档( https://developer.android.com/codelabs/jetpack-compose-state#3 )中用于观察observeAsState在他们使用的可组合方法中的变化,但在我的实现中找不到。 I get instead Unresolved reference: observeAsState我得到了Unresolved reference: observeAsState

ViewModel视图模型

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)
    }

}

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

I am using Compose 1.0.0-beta01我正在使用 Compose 1.0.0-beta01

observeAsState is part of the runtime-livedata library. observeAsStateruntime-livedata库的一部分。

Add the dependency to your module's build.gradle file.将依赖项添加到模块的build.gradle文件中。 Replace $compose_version with the version of compose which you use, eg 1.0.0-beta01 :$compose_version替换为您使用的 compose 版本,例如1.0.0-beta01

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

You can find the available versions here in Google's Maven repository .您可以在 Google 的 Maven 存储库中找到可用的版本。

Not exactly answering your question, but as a suggestion you could migrate to Flow instead of using live data.不完全回答您的问题,但作为建议,您可以迁移到 Flow 而不是使用实时数据。

ViewModel ->视图模型->

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

Composable ->可组合 ->

val yourList by yourViewModel.yourList.collectAsState()

暂无
暂无

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

相关问题 喷气背包组成。 无限调用observeAsState - jetpack compose. infinite call to observeAsState Jetpack compose 中未解决的修改器方法引用 - Unresolved reference with Modifier methods in Jetpack compose observeAsState 和 collectAsState 之间的区别以及何时在 Android Jetpack Compose 中使用它们? - Difference between observeAsState and collectAsState and when to use each in Android Jetpack Compose? 未解决的参考:getIntentSender / 尝试在 Jetpack Compose 中获取电话号码时 - Unresolved reference: getIntentSender / While trying to obtain phone number in Jetpack Compose 在 Jetpack Compose 中使用 .observeAsState() 时,如何在更改 MutableLiveData 的值后开始执行一段代码? - How to start executing a block of code after changing the value of MutableLiveData when using .observeAsState() in Jetpack Compose? 我得到“类型不匹配。 必需:State<string?> 使用 Jetpack 组合 viewModel.observeAsState() 时发现:字符串</string?> - I get “Type mismatch. Required: State<String?> Found: String” when Using viewModel.observeAsState() with Jetpack compose KMM + Compose:未解决的参考:可绘制 - KMM + Compose: Unresolved reference: drawable jetpack compose:更新到 alpha08 后@Preview 未解决 - jetpack compose: @Preview is unresolved after updating to alpha08 如何在 Jetpack Compose 中引用主题属性? - How to reference theme attributes in Jetpack Compose? VIewModel observeAsState as Single event in Android Compose - VIewModel observeAsState as Single event in Android Compose
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM