Ann*_*non 6 kotlin android-room android-jetpack-compose
我正在尝试为类创建 TypeConverter Color(androidx.compose.ui.graphics),但 room 在编译时失败并出现错误
error: Class is referenced as a converter but it does not have any converter methods.
public final class ColorConverter {
^
Run Code Online (Sandbox Code Playgroud)
颜色类别(组合中)
value class Color(val value: ULong) {
...
}
Run Code Online (Sandbox Code Playgroud)
颜色转换器的实现
object ColorConverter {
@JvmStatic
@TypeConverter
fun toLong(color: Color): Long = color.value.toLong()
@JvmStatic
@TypeConverter
fun toColor(value: Long): Color = Color(value)
}
Run Code Online (Sandbox Code Playgroud)
我也在数据库中声明了
@TypeConverters(ColorConverter::class)
Run Code Online (Sandbox Code Playgroud)
class ColorConverter {
@TypeConverter
fun toLong(color: Color): Long = color.value.toLong()
@TypeConverter
fun toColor(value: Long): Color = Color(value)
}
Run Code Online (Sandbox Code Playgroud)
不要将ColorConverter作为对象,而是将其作为普通类并从方法中删除@Jvmstatic注释。我认为这会解决问题。
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |