Jetpack在WebView中组成空字符串



我在AndroidView中使用的变量singleArticle.content返回一个空值。但如果我在AndroidView外显示它的值正确出现。有人能知道我的代码有什么问题吗?

@Composable
fun ArticleDetailScreen(
navController: NavController,
viewModel: ArticleDetailViewModel = hiltViewModel()
) {
...
CustomWebView(viewModel.article.value)
...
}
@Composable
fun CustomWebView(singleArticle: Article) {
AndroidView(
factory = { context ->
WebView(context).apply {
loadData(singleArticle.content, "text/html", "UTF-8")
}
},
)
}

一个可能的原因是您的singleArticle.content最初为空,并在视图出现后得到更新。

AndroidViewfactory在创建视图时只被调用一次。要与Compose状态更新同步,您应该使用updateblock:

AndroidView(
factory = { context ->
WebView(context)
},
update = {
it.loadData(singleArticle.content, "text/html", "UTF-8")
},
)

相关内容

  • 没有找到相关文章

最新更新