Нужны ли все три конструктора для пользовательского представления Android?
При создании пользовательского представления я заметил, что многие люди делают это так:
public MyView(Context context) {
super(context);
// this constructor used when programmatically creating view
doAdditionalConstructorWork();
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
// this constructor used when creating view through XML
doAdditionalConstructorWork();
}
private void doAdditionalConstructorWork() {
// init variables etc.
}
Мой первый вопрос: как насчет конструктораMyView(Context context, AttributeSet attrs, int defStyle)
? Я не уверен, где это используется, но я вижу это в суперклассе. Нужно ли это, и где это используется?