Я пробовал множество решений, найденных в google по ключевым словам: несколько конструкторов, scala, наследование, подклассы.
Похоже, что это не работает. ImageView
имеет три конструктора:
ImageView(context)
ImageView(context,attribute set)
ImageView(context,attribute set, style)
В scala вы можете расширить только один из них. И решение использования более полного конструктора (ImageView(context,attribute set, style)
) и передачи значений по умолчанию не работает либо потому, что конструктор ImageView(context)
делает нечто совершенно иное, чем два других конструктора.
Некоторые решения использования признака или объекта-компаньона не работают, потому что CustomView должен быть классом! Я имею в виду, что я не единственный, кто использует этот класс (так что я мог бы написать код scala любым способом, который я хотел), есть также android-sdk, который использует этот класс, и да, он должен быть классом.
Цель состоит в том, чтобы иметь CustomView, который расширяет ImageView и все эти работы:
new CustomView(context)
new CustomView(context,attribute set)
new CustomView(context,attribute set, style)
Пожалуйста, дайте мне знать, если вам нужно какое-либо уточнение по этому сложному вопросу!