У меня есть пара определений (действительно больше, но этого достаточно, чтобы продемонстрировать проблему):
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)
}
}
Это компилируется нормально, но lint выдает ошибку:
Access to private constructor of class BackButton requires synthetic accessor [SyntheticAccessor]
Теперь, насколько я могу судить, конструктор BackButton на самом деле общедоступен, так что, кроме подавления предупреждения, как я могу обойти проблему?
Обновление: так что очевидно, что закрытые конструкторы классов должны бытьprivate в том, что должно быть абстрактным классом.Мне кажется, что эта реализация по своей сути несовершенна, но это совершенно другая проблема.