小编Fra*_*nco的帖子

Android Room错误:无法识别枚举列表的TypeConverter

Room库无法识别TypeConverter我为List枚举创建的内容.但是,当我将其更改ArrayList为枚举时,它可以正常工作.任何人都知道为什么以及我能做些什么来使这项工作List?(在Kotlin中使用List更容易,我真的不想ArrayList仅仅因为这个而转发回来).

这是我的代码:

我的模特:

@Entity
data class Example(@PrimaryKey val id: String?,
                   val name: String,
                   var days: List<DayOfWeek>?)
Run Code Online (Sandbox Code Playgroud)

DayOfWeek 是一个枚举:

enum class DayOfWeek {

    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY;

    val value: Int
        get() = ordinal + 1


    companion object {

        private val ENUMS = DayOfWeek.values()

        fun of(dayOfWeek: Int): DayOfWeek {
            if (dayOfWeek < 1 || dayOfWeek > 7) {
                throw RuntimeException("Invalid value for DayOfWeek: " + dayOfWeek)
            }

            return ENUMS[dayOfWeek …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-room android-architecture-components

12
推荐指数
1
解决办法
4818
查看次数