カスタムビューを作成するとき、多くの人が次のように実行しているようです。
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)
どうですか?どこで使用されているかはわかりませんが、スーパークラスで見かけます。必要ですか、どこで使用されますか?
この質問には別の部分があります。