Неподдерживаемое делегирование без основного конструктора
У меня возникла проблема с делегированием kotlin, когда я хочу делегировать реализацию интерфейса переменной. Проблема в том, что у суперкласса есть другие конструкторы, которые я действительно не хотел бы терять.
interface Delegate
class CustomView(myRequiredDelegate: Delegate,context:Context): ViewGroup(context), Delegate by myRequiredDelegate
Теперь, как вы можете видеть, у меня будут проблемы с предварительным просмотром студии Android, поскольку нет конструктора (context: Context). А также другие проблемы с инициализацией из xml, поскольку мне придется создать
class View(myRequiredDelegate: Delegate,context: Context): ViewGroup(context), Delegate by myRequiredDelegate{
// as you can see here I can no longer have access to call super(context, attrs...)
// which provide more attrs for the custom view
// and not sure if kotlin provides any other way to access the other super constructors
constructor(context: Context):this(dummyForDelegate,context)
}
Я просто хочу знать, есть ли способ предоставить делегирование таким образом, не нарушая цепочку супер вызовов не специально для Android, а для любого другого случая, который может иметь те же ограничения делегирования...