0

我有一个数据类

@Entity(tableName = "type")
data class Type(
    @PrimaryKey(autoGenerate = true) var id: Int = 0,
    var type: Int = 0
)

编译项目时我收到消息

错误:房间不能选择一个构造函数,因为多个构造函数是合适的。

但是如果我将数据类更改为

@Entity(tableName = "type")
data class Type(
    @PrimaryKey(autoGenerate = true) var id: Int = 0,
    var type: String = ""
)

或java类

@Entity(tableName = "type")
public class Type {
    @PrimaryKey(autoGenerate = true)
    private int id;
    private int type;
    // getters and setters
}

它工作正常。是 Kotlin 错误还是其他什么?

4

1 回答 1

0

我不知道为什么会出现这种情况,但是如果你使用 id 呢?= 0 解决了这个问题,至少在我做的测试中。

Android Studio Beta 7
ext.support_version = '26 .1.0 '
ext.kotlin_version = '1.1.51'
ext.anko_version = '0.10.1'
ext.archroom_version = '1.0.0-alpha9-1'

    @Entity(tableName = "type")
    data class Type(
            @PrimaryKey(autoGenerate = true) var id: Int? = 0,
            var type: Int = 0
    )
于 2017-10-06T23:54:23.897 回答