首页 > 解决方案 > ComposeView 与视图绑定

问题描述

ComposeView在我的 XML 布局文件中添加了一个。我在我的活动中使用视图绑定来扩充这个文件。当我尝试调用时binding.myComposeView.setContent { ... },我收到以下编译错误:Unresolved reference: setContent. 当我查看生成的绑定文件时,myComposeViewisView和 not的类型ComposeView。当我使用时findViewById<ComposeView>(R.id.myComposeView).setContent { ... },一切正常。为什么绑定没有正确生成?我可以做些什么来使用带有 a 的视图绑定ComposeView

标签: android-jetpack-composeandroid-viewbinding

解决方案


事实证明,我有两个版本的相同布局:纵向和横向。LinearLayout我通过将 a 替换为a将肖像转换为 Compose ComposeView。但是,在横向布局myComposeView中仍然是一个LinearLayout. 这就是为什么创建的视图绑定类有一个myComposeViewtype字段View而不是ComposeView. 具有相同 id 的视图在两个布局版本中具有不同的类型。


推荐阅读