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