首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android自定义视图是否需要所有这三个构造函数?

Android自定义视图是否需要所有这三个构造函数?
EN

Stack Overflow用户
提问于 2012-02-08 22:55:52
回答 6查看 37.3K关注 0票数 151

在创建自定义视图时,我注意到很多人似乎是这样做的:

代码语言:javascript
复制
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)怎么样?我不确定它在哪里使用,但我在超级类中看到了它。我需要它吗?它用在哪里?

那是another part to this question

EN

Stack Overflow用户

发布于 2014-07-09 02:54:25

如果你必须像现在讨论的那样包含三个构造器,你也可以这样做。

代码语言:javascript
复制
public MyView(Context context) {
  this(context,null,0);
}

public MyView(Context context, AttributeSet attrs) {
  this(context,attrs,0);
}

public MyView(Context context, AttributeSet attrs, int defStyle) {
  super(context, attrs, defStyle);
  doAdditionalConstructorWork();

}
票数 -2
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9195713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档