เมื่อสร้างมุมมองที่กำหนดเองฉันสังเกตว่าหลายคนดูเหมือนจะทำสิ่งนี้:
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)? ฉันไม่แน่ใจว่ามันถูกใช้ที่ไหน แต่ฉันเห็นมันในระดับซุปเปอร์ ฉันต้องการมันและใช้ที่ไหน?