Нужны ли все три конструктора для пользовательского представления 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)? Я не уверен, где это используется, но я вижу это в суперклассе. Нужно ли мне это, и где это используется?

Есть другая часть этого вопроса .

135
задан Community 23 May 2017 в 11:33
поделиться