Kotlin + MVP - 意外覆盖

时间:2017-06-16 08:09:32

标签: android kotlin mvp

我正在使用Kotlin& MVP在一起,偶然发现了一点点烦恼。

我得到了"意外覆盖"错误(从下面可以看出)。除了在MainView界面中更改成员变量名称或getX()之外,是否有任何解决方案。

根据我的研究,没有办法阻止kotlin为x'生成吸气剂。

class MainActivity : Activity(), MainView {
    val x: String // Accidental override

    override fun getX(): String {
        return x
    }
}

interface MainView {
    fun getX(): String
}

1 个答案:

答案 0 :(得分:5)

您可以设置属性private,以防止为其生成getter:

private val x: String = ""

或者,您可以将其设为简单的Java字段,而不是具有@JvmField注释的属性:

@JvmField val x: String = ""