Неподдерживаемое делегирование без основного конструктора

У меня возникла проблема с делегированием 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, а для любого другого случая, который может иметь те же ограничения делегирования...

0 ответов

Другие вопросы по тегам