Android Jetpack撰写Kotlin综合扩展支持

问题描述

我在集成到一个大项目时遇到了Unbound符号不允许编译器错误的问题。似乎它不支持综合扩展。有没有办法在合成扩展中使用compose?我的项目太大,无法一次迁移,并且大量使用合成扩展。如果不是,您是否知道不久会有支持计划?预先感谢。

e: java.lang.AssertionError: Unbound symbols not allowed
    Unbound public symbol for public kotlinx.android.synthetic.main.activity_normal/txt.<get-txt>|-845173590652748007[0]

解决方法

合成材料 are deprecated 所以没有计划在任何地方支持它们:你应该尽快migrate to ViewBinding(这并不难)

但是在 Compose 中支持它们实际上没有意义:由于 Compose 是声明式的而不是命令式的,您不使用 id 或任何“访问方法”,您可能需要 rethink how to do things with Compose

也许试着解释一下你想要做什么?

,

@DiriNoid “它说删除所有 kotlinx 合成扩展,这对于大型项目来说真的很困难。我的问题是有没有办法在一个项目中同时使用它们”

如果您打算推迟 ViewBinding 迁移,您可以使用此 gradle 任务生成 Kotlin snythetic 代码,而无需“Kotlin android 扩展”插件

https://github.com/sanjeevirajm/kotlin_synthetic_undepreciated

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...