And*_*ilo 9 android kotlin android-room
我得到一个错误,尽管按照文档说的完全一样。文件:
data class PlaylistWithSongs(
@Embedded val playlist: Playlist,
@Relation(
parentColumn = "playlistId",
entityColumn = "songId",
associateBy = @Junction(PlaylistSongCrossRef::class)
)
val songs: List<Song>
)
Run Code Online (Sandbox Code Playgroud)
我的问题:
data class FileEntryWithTags(
@Embedded val fileEntry: FileEntry,
@Relation(
parentColumn = FileEntry.COLUMN_UUID,
entityColumn = Tag.COLUMN_ID,
associateBy = @Junction(FileEntryTagCrossRef::class)
)
val tags: List<Tag>
)
Run Code Online (Sandbox Code Playgroud)
Sla*_*law 15
看起来 Android 文档中有一个错误。Kotlin 参考资料中的Annotations - Kotlin Programming Language页面告诉我们:
如果一个注解被用作另一个注解的参数,它的名称不以
@
字符为前缀:Run Code Online (Sandbox Code Playgroud)annotation class ReplaceWith(val expression: String) annotation class Deprecated( val message: String, val replaceWith: ReplaceWith = ReplaceWith("")) @Deprecated("This function is deprecated, use === instead", ReplaceWith("this === other"))
所以你的代码应该是:
data class FileEntryWithTags(
@Embedded val fileEntry: FileEntry,
@Relation(
parentColumn = FileEntry.COLUMN_UUID,
entityColumn = Tag.COLUMN_ID,
associateBy = Junction(FileEntryTagCrossRef::class)
)
val tags: List<Tag>
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2833 次 |
最近记录: |