私有构造函数需要合成访问器

时间:2019-02-06 00:55:48

标签: android kotlin jvm lint

我有一对定义(确实更多,但这足以说明问题):

sealed class BackButton(val action: ButtonAction) {
    abstract fun setup(actionBar: ActionBar, toolbar: Toolbar)
}

class NoBackButton : BackButton({}) {
    override fun setup(actionBar: ActionBar, toolbar: Toolbar) {
        actionBar.setDisplayHomeAsUpEnabled(false)
    }
}

这可以很好地编译,但是皮棉给出了一个错误:

Access to private constructor of class BackButton requires synthetic accessor [SyntheticAccessor]

现在,据我所知,BackButton构造函数实际上是公共的,因此,除了抑制警告之外,我该如何解决该问题?

更新:显然,密封类的构造函数必须是抽象类的私有对象。对我来说,这似乎是一个天生就有缺陷的实现,但这是一个完全不同的问题。

0 个答案:

没有答案