gpt4 book ai didi

android - 在 JetPack Compose 中手动重构所有 AndroidView

转载 作者:行者123 更新时间:2023-12-04 23:46:41 25 4
gpt4 key购买 nike

在我的项目中,我使用 JetPack Compose 和 AndroidView 来使用 XML View 。

@Composable
fun MyComposable(
message: String
) {

AndroidView(
factory = { context ->

TextView(context).apply {
text = message
}

})
}

我的问题是当我的 message状态变化, AndroidView 中的 XML View 没有重组。 AndroidView 中有一个选项观察状态变化?
ps:我已经简化了 MyComposable例如

最佳答案

您可以使用 update堵塞。
来自 doc :

The update block can be run multiple times (on the UI thread as well) due to recomposition, and it is the right place to set View properties depending on state. When state changes, the block will be reexecuted to set the new properties. Note the block will also be ran once right after the factory block completes

AndroidView(
factory = { context ->

TextView(context).apply {
text = "Initial Value"
}
},
update = {
it.text = message
}
)

关于android - 在 JetPack Compose 中手动重构所有 AndroidView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67916613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com